49 #include <Xyce_config.h>
53 #include <N_UTL_Misc.h>
63 #include <N_LAS_Matrix.h>
64 #include <N_LAS_Vector.h>
68 namespace ADMSPSP103VA {
81 .setExpressionAccess(
NO_DOC)
84 .setDescription(
"Internal-use parameter for setting device instance temperature");
87 .setDescription(
"Design length");
90 .setDescription(
"Design width");
93 .setDescription(
"Distance between OD-edge and poly from one side");
96 .setDescription(
"Distance between OD-edge and poly from other side");
99 .setDescription(
"Distance between neighbouring fingers");
101 .setDescription(
"Integral of the first distribution function for scattered well dopants");
103 .setDescription(
"Integral of the second distribution function for scattered well dopants");
105 .setDescription(
"Integral of the third distribution function for scattered well dopants");
108 .setDescription(
"Distance between OD-edge and nearest well edge");
110 .setDescription(
"Number of fingers");
112 .setDescription(
"Number of gate contacts");
115 .setDescription(
"Distance from the gate contact to the channel edge");
117 .setDescription(
"Number of squares of source diffusion");
119 .setDescription(
"Number of squares of drain diffusion");
122 .setDescription(
"Gate-edge length of source/drain junction");
125 .setDescription(
"Threshold voltage shift parameter");
127 .setDescription(
"Zero-field mobility pre-factor");
129 .setDescription(
"Bottom area of source junction");
132 .setDescription(
"STI-edge length of source junction");
135 .setDescription(
"Gate-edge length of source junction");
137 .setDescription(
"Bottom area of drain junction");
140 .setDescription(
"STI-edge length of drain junction");
143 .setDescription(
"Gate-edge length of drain junction");
145 .setDescription(
"Bottom area of source junction");
148 .setDescription(
"Perimeter of source junction");
150 .setDescription(
"Bottom area of drain junction");
153 .setDescription(
"Perimeter of drain junction");
155 .setDescription(
"Number of devices in parallel");
169 .setExpressionAccess(
NO_DOC)
172 .setDescription(
"Internal-use parameter for setting device model temperature");
174 .setDescription(
"Model level");
176 .setDescription(
"Channel type parameter, +1=NMOS -1=PMOS");
180 .setDescription(
"nominal (reference) temperature");
182 .setDescription(
"Flag for geometrical model, 0=local, 1=global, 2=binning");
184 .setDescription(
"Flag for gate current, 0=turn off IG");
186 .setDescription(
"Flag for impact ionization current, 0=turn off II");
188 .setDescription(
"Flag for GIDL current, 0=turn off IGIDL");
190 .setDescription(
"Flag for juncap, 0=turn off juncap");
192 .setDescription(
"Flag for asymmetric junctions; 0=symmetric, 1=asymmetric");
194 .setDescription(
"Flag for NUD-effect; 0=off, 1=on, 2=on+CV-correction");
196 .setDescription(
"Flag for separate capacitance calculation; 0=off, 1=on");
198 .setDescription(
"Quantum-mechanical correction factor");
202 .setDescription(
"Flat band voltage at TR");
206 .setDescription(
"Temperature dependence of VFB");
210 .setDescription(
"Gate oxide thickness");
212 .setDescription(
"Relative permittivity of gate dielectric");
216 .setDescription(
"Effective substrate doping");
218 .setDescription(
"Pre-factor for effective substrate doping in separate charge calculation");
220 .setDescription(
"Bodyfactor change due to NUD-effect");
224 .setDescription(
"Lower Vsb value for NUD-effect");
228 .setDescription(
"Vsb-range for NUD-effect");
232 .setDescription(
"Effective doping bias-dependence parameter");
236 .setDescription(
"Effective doping bias-dependence parameter");
240 .setDescription(
"Effective doping bias-dependence parameter");
244 .setDescription(
"Offset parameter for PHIB");
248 .setDescription(
"Offset parameter for PHIB in separate charge calculation");
252 .setDescription(
"Gate poly-silicon doping");
254 .setDescription(
"Interface states factor");
258 .setDescription(
"Overlap oxide thickness");
262 .setDescription(
"Overlap oxide thickness for drain side");
266 .setDescription(
"Effective doping of overlap region");
270 .setDescription(
"Effective doping of overlap region for drain side");
272 .setDescription(
"DIBL-parameter");
276 .setDescription(
"Back bias dependence of CF");
280 .setDescription(
"Channel aspect ratio times zero-field mobility");
282 .setDescription(
"Temperature dependence of BETN");
286 .setDescription(
"Mobility reduction coefficient at TR");
288 .setDescription(
"Temperature dependence of MUE");
290 .setDescription(
"Mobility reduction exponent at TR");
292 .setDescription(
"Temperature dependence of THEMU");
294 .setDescription(
"Coulomb scattering parameter at TR");
296 .setDescription(
"Temperature dependence of CS");
300 .setDescription(
"Non-universality factor");
302 .setDescription(
"Temperature dependence of XCOR");
304 .setDescription(
"Effective field parameter");
308 .setDescription(
"Series resistance at TR");
310 .setDescription(
"Temperature dependence of RS");
314 .setDescription(
"Back-bias dependence of series resistance");
318 .setDescription(
"Gate-bias dependence of series resistance");
322 .setDescription(
"Velocity saturation parameter at TR");
324 .setDescription(
"Temperature dependence of THESAT");
328 .setDescription(
"Back-bias dependence of velocity saturation");
332 .setDescription(
"Gate-bias dependence of velocity saturation");
334 .setDescription(
"Linear/saturation transition factor");
336 .setDescription(
"CLM pre-factor");
340 .setDescription(
"CLM enhancement factor above threshold");
344 .setDescription(
"CLM enhancement factor below threshold");
348 .setDescription(
"CLM logarithm dependence factor");
350 .setDescription(
"Impact-ionization pre-factor");
354 .setDescription(
"Impact-ionization exponent at TR");
358 .setDescription(
"Temperature dependence of A2");
360 .setDescription(
"Saturation-voltage dependence of impact-ionization");
364 .setDescription(
"Back-bias dependence of impact-ionization");
366 .setDescription(
"Gate tunneling energy adjustment");
370 .setDescription(
"Gate channel current pre-factor");
374 .setDescription(
"Gate overlap current pre-factor");
378 .setDescription(
"Gate overlap current pre-factor for drain side");
380 .setDescription(
"Temperature dependence of IGINV and IGOV");
382 .setDescription(
"Gate current slope factor");
384 .setDescription(
"Gate current curvature factor");
388 .setDescription(
"Tunneling barrier height");
392 .setDescription(
"GIDL pre-factor");
396 .setDescription(
"GIDL pre-factor for drain side");
400 .setDescription(
"GIDL probability factor at TR");
404 .setDescription(
"GIDL probability factor at TR for drain side");
408 .setDescription(
"Temperature dependence of BGIDL");
412 .setDescription(
"Temperature dependence of BGIDL for drain side");
414 .setDescription(
"Back-bias dependence of GIDL");
416 .setDescription(
"Back-bias dependence of GIDL for drain side");
420 .setDescription(
"Oxide capacitance for intrinsic channel");
424 .setDescription(
"Oxide capacitance for gate-drain/source overlap");
428 .setDescription(
"Oxide capacitance for gate-drain overlap");
432 .setDescription(
"Oxide capacitance for gate-bulk overlap");
436 .setDescription(
"Outer fringe capacitance");
440 .setDescription(
"Outer fringe capacitance for drain side");
442 .setDescription(
"Thermal noise coefficient");
444 .setDescription(
"First coefficient of flicker noise");
446 .setDescription(
"Second coefficient of flicker noise");
450 .setDescription(
"Third coefficient of flicker noise");
452 .setDescription(
"Flicker noise frequency exponent");
456 .setDescription(
"Gate resistance");
460 .setDescription(
"External source resistance");
464 .setDescription(
"External drain resistance");
468 .setDescription(
"Bulk resistance between node BP and BI");
472 .setDescription(
"Well resistance between node BI and B");
476 .setDescription(
"Source-side bulk resistance between node BI and BS");
480 .setDescription(
"Drain-side bulk resistance between node BI and BD");
484 .setDescription(
"Coefficient for the geometry independent part of VFB");
488 .setDescription(
"Coefficient for the length dependence of VFB");
492 .setDescription(
"Coefficient for the width dependence of VFB");
496 .setDescription(
"Coefficient for the length times width dependence of VFB");
500 .setDescription(
"Coefficient for the geometry independent part of STVFB");
504 .setDescription(
"Coefficient for the length dependence of STVFB");
508 .setDescription(
"Coefficient for the width dependence of STVFB");
512 .setDescription(
"Coefficient for the length times width dependence of STVFB");
516 .setDescription(
"Coefficient for the geometry independent part of TOX");
518 .setDescription(
"Coefficient for the geometry independent part of EPSOX");
522 .setDescription(
"Coefficient for the geometry independent part of NEFF");
526 .setDescription(
"Coefficient for the length dependence of NEFF");
530 .setDescription(
"Coefficient for the width dependence of NEFF");
534 .setDescription(
"Coefficient for the length times width dependence of NEFF");
536 .setDescription(
"Coefficient for the geometry independent part of FACNEFFAC");
538 .setDescription(
"Coefficient for the length dependence of FACNEFFAC");
540 .setDescription(
"Coefficient for the width dependence of FACNEFFAC");
542 .setDescription(
"Coefficient for the length times width dependence of FACNEFFAC");
544 .setDescription(
"Coefficient for the geometry independent part of GFACNUD");
546 .setDescription(
"Coefficient for the length dependence of GFACNUD");
548 .setDescription(
"Coefficient for the width dependence of GFACNUD");
550 .setDescription(
"Coefficient for the length times width dependence of GFACNUD");
554 .setDescription(
"Coefficient for the geometry independent part of VSBNUD");
558 .setDescription(
"Coefficient for the geometry independent part of DVSBNUD");
562 .setDescription(
"Coefficient for the geometry independent part of VNSUB");
566 .setDescription(
"Coefficient for the geometry independent part of NSLP");
568 .setDescription(
"Coefficient for the geometry independent part of DNSUB");
572 .setDescription(
"Coefficient for the geometry independent part of DPHIB");
576 .setDescription(
"Coefficient for the length dependence of DPHIB");
580 .setDescription(
"Coefficient for the width dependence of DPHIB");
584 .setDescription(
"Coefficient for the length times width dependence of DPHIB");
588 .setDescription(
"Coefficient for the geometry independent part of DELVTAC");
592 .setDescription(
"Coefficient for the length dependence of DELVTAC");
596 .setDescription(
"Coefficient for the width dependence of DELVTAC");
600 .setDescription(
"Coefficient for the length times width dependence of DELVTAC");
604 .setDescription(
"Coefficient for the geometry independent part of NP");
608 .setDescription(
"Coefficient for the length dependence of NP");
612 .setDescription(
"Coefficient for the width dependence of NP");
616 .setDescription(
"Coefficient for the length times width dependence of NP");
618 .setDescription(
"Coefficient for the geometry independent part of CT");
620 .setDescription(
"Coefficient for the length dependence of CT");
622 .setDescription(
"Coefficient for the width dependence of CT");
624 .setDescription(
"Coefficient for the length times width dependence of CT");
628 .setDescription(
"Coefficient for the geometry independent part of TOXOV");
632 .setDescription(
"Coefficient for the geometry independent part of TOXOV for drain side");
636 .setDescription(
"Coefficient for the geometry independent part of NOV");
640 .setDescription(
"Coefficient for the length dependence of NOV");
644 .setDescription(
"Coefficient for the width dependence of NOV");
648 .setDescription(
"Coefficient for the length times width dependence of NOV");
652 .setDescription(
"Coefficient for the geometry independent part of NOV for drain side");
656 .setDescription(
"Coefficient for the length dependence of NOV for drain side");
660 .setDescription(
"Coefficient for the width dependence of NOV for drain side");
664 .setDescription(
"Coefficient for the length times width dependence of NOV for drain side");
666 .setDescription(
"Coefficient for the geometry independent part of CF");
668 .setDescription(
"Coefficient for the length dependence of CF");
670 .setDescription(
"Coefficient for the width dependence of CF");
672 .setDescription(
"Coefficient for the length times width dependence of CF");
674 .setDescription(
"Coefficient for the geometry independent part of CFB");
676 .setDescription(
"Coefficient for the geometry independent part of BETN");
678 .setDescription(
"Coefficient for the length dependence of BETN");
680 .setDescription(
"Coefficient for the width dependence of BETN");
682 .setDescription(
"Coefficient for the length times width dependence of BETN");
684 .setDescription(
"Coefficient for the geometry independent part of STBET");
686 .setDescription(
"Coefficient for the length dependence of STBET");
688 .setDescription(
"Coefficient for the width dependence of STBET");
690 .setDescription(
"Coefficient for the length times width dependence of STBET");
692 .setDescription(
"Coefficient for the geometry independent part of MUE");
694 .setDescription(
"Coefficient for the length dependence of MUE");
696 .setDescription(
"Coefficient for the width dependence of MUE");
698 .setDescription(
"Coefficient for the length times width dependence of MUE");
700 .setDescription(
"Coefficient for the geometry independent part of STMUE");
702 .setDescription(
"Coefficient for the geometry independent part of THEMU");
704 .setDescription(
"Coefficient for the geometry independent part of STTHEMU");
706 .setDescription(
"Coefficient for the geometry independent part of CS");
708 .setDescription(
"Coefficient for the length dependence of CS");
710 .setDescription(
"Coefficient for the width dependence of CS");
712 .setDescription(
"Coefficient for the length times width dependence of CS");
714 .setDescription(
"Coefficient for the geometry independent part of STCS");
716 .setDescription(
"Coefficient for the geometry independent part of XCOR");
718 .setDescription(
"Coefficient for the length dependence of XCOR");
720 .setDescription(
"Coefficient for the width dependence of XCOR");
722 .setDescription(
"Coefficient for the length times width dependence of XCOR");
724 .setDescription(
"Coefficient for the geometry independent part of STXCOR");
726 .setDescription(
"Coefficient for the geometry independent part of FETA");
728 .setDescription(
"Coefficient for the geometry independent part of RS");
730 .setDescription(
"Coefficient for the length dependence of RS");
732 .setDescription(
"Coefficient for the width dependence of RS");
734 .setDescription(
"Coefficient for the length times width dependence of RS");
736 .setDescription(
"Coefficient for the geometry independent part of STRS");
738 .setDescription(
"Coefficient for the geometry independent part of RSB");
740 .setDescription(
"Coefficient for the geometry independent part of RSG");
742 .setDescription(
"Coefficient for the geometry independent part of THESAT");
744 .setDescription(
"Coefficient for the length dependence of THESAT");
746 .setDescription(
"Coefficient for the width dependence of THESAT");
748 .setDescription(
"Coefficient for the length times width dependence of THESAT");
750 .setDescription(
"Coefficient for the geometry independent part of STTHESAT");
752 .setDescription(
"Coefficient for the length dependence of STTHESAT");
754 .setDescription(
"Coefficient for the width dependence of STTHESAT");
756 .setDescription(
"Coefficient for the length times width dependence of STTHESAT");
758 .setDescription(
"Coefficient for the geometry independent part of THESATB");
760 .setDescription(
"Coefficient for the length dependence of THESATB");
762 .setDescription(
"Coefficient for the width dependence of THESATB");
764 .setDescription(
"Coefficient for the length times width dependence of THESATB");
766 .setDescription(
"Coefficient for the geometry independent part of THESATG");
768 .setDescription(
"Coefficient for the length dependence of THESATG");
770 .setDescription(
"Coefficient for the width dependence of THESATG");
772 .setDescription(
"Coefficient for the length times width dependence of THESATG");
774 .setDescription(
"Coefficient for the geometry independent part of AX");
776 .setDescription(
"Coefficient for the length dependence of AX");
778 .setDescription(
"Coefficient for the width dependence of AX");
780 .setDescription(
"Coefficient for the length times width dependence of AX");
782 .setDescription(
"Coefficient for the geometry independent part of ALP");
784 .setDescription(
"Coefficient for the length dependence of ALP");
786 .setDescription(
"Coefficient for the width dependence of ALP");
788 .setDescription(
"Coefficient for the length times width dependence of ALP");
792 .setDescription(
"Coefficient for the geometry independent part of ALP1");
796 .setDescription(
"Coefficient for the length dependence of ALP1");
800 .setDescription(
"Coefficient for the width dependence of ALP1");
804 .setDescription(
"Coefficient for the length times width dependence of ALP1");
806 .setDescription(
"Coefficient for the geometry independent part of ALP2");
808 .setDescription(
"Coefficient for the length dependence of ALP2");
810 .setDescription(
"Coefficient for the width dependence of ALP2");
812 .setDescription(
"Coefficient for the length times width dependence of ALP2");
816 .setDescription(
"Coefficient for the geometry independent part of VP");
818 .setDescription(
"Coefficient for the geometry independent part of A1");
820 .setDescription(
"Coefficient for the length dependence of A1");
822 .setDescription(
"Coefficient for the width dependence of A1");
824 .setDescription(
"Coefficient for the length times width dependence of A1");
828 .setDescription(
"Coefficient for the geometry independent part of A2");
832 .setDescription(
"Coefficient for the geometry independent part of STA2");
834 .setDescription(
"Coefficient for the geometry independent part of A3");
836 .setDescription(
"Coefficient for the length dependence of A3");
838 .setDescription(
"Coefficient for the width dependence of A3");
840 .setDescription(
"Coefficient for the length times width dependence of A3");
842 .setDescription(
"Coefficient for the geometry independent part of A4");
844 .setDescription(
"Coefficient for the length dependence of A4");
846 .setDescription(
"Coefficient for the width dependence of A4");
848 .setDescription(
"Coefficient for the length times width dependence of A4");
850 .setDescription(
"Coefficient for the geometry independent part of GCO");
854 .setDescription(
"Coefficient for the geometry independent part of IGINV");
858 .setDescription(
"Coefficient for the length dependence of IGINV");
862 .setDescription(
"Coefficient for the width dependence of IGINV");
866 .setDescription(
"Coefficient for the length times width dependence of IGINV");
870 .setDescription(
"Coefficient for the geometry independent part of IGOV");
874 .setDescription(
"Coefficient for the length dependence of IGOV");
878 .setDescription(
"Coefficient for the width dependence of IGOV");
882 .setDescription(
"Coefficient for the length times width dependence of IGOV");
886 .setDescription(
"Coefficient for the geometry independent part of IGOV for drain side");
890 .setDescription(
"Coefficient for the length dependence of IGOV for drain side");
894 .setDescription(
"Coefficient for the width dependence of IGOV for drain side");
898 .setDescription(
"Coefficient for the length times width dependence of IGOV for drain side");
900 .setDescription(
"Coefficient for the geometry independent part of STIG");
902 .setDescription(
"Coefficient for the geometry independent part of GC2");
904 .setDescription(
"Coefficient for the geometry independent part of GC3");
908 .setDescription(
"Coefficient for the geometry independent part of CHIB");
912 .setDescription(
"Coefficient for the geometry independent part of AGIDL");
916 .setDescription(
"Coefficient for the length dependence of AGIDL");
920 .setDescription(
"Coefficient for the width dependence of AGIDL");
924 .setDescription(
"Coefficient for the length times width dependence of AGIDL");
928 .setDescription(
"Coefficient for the geometry independent part of AGIDL for drain side");
932 .setDescription(
"Coefficient for the length dependence of AGIDL for drain side");
936 .setDescription(
"Coefficient for the width dependence of AGIDL for drain side");
940 .setDescription(
"Coefficient for the length times width dependence of AGIDL for drain side");
944 .setDescription(
"Coefficient for the geometry independent part of BGIDL");
948 .setDescription(
"Coefficient for the geometry independent part of BGIDL for drain side");
952 .setDescription(
"Coefficient for the geometry independent part of STBGIDL");
956 .setDescription(
"Coefficient for the geometry independent part of STBGIDL for drain side");
958 .setDescription(
"Coefficient for the geometry independent part of CGIDL");
960 .setDescription(
"Coefficient for the geometry independent part of CGIDL for drain side");
964 .setDescription(
"Coefficient for the geometry independent part of COX");
968 .setDescription(
"Coefficient for the length dependence of COX");
972 .setDescription(
"Coefficient for the width dependence of COX");
976 .setDescription(
"Coefficient for the length times width dependence of COX");
980 .setDescription(
"Coefficient for the geometry independent part of CGOV");
984 .setDescription(
"Coefficient for the length dependence of CGOV");
988 .setDescription(
"Coefficient for the width dependence of CGOV");
992 .setDescription(
"Coefficient for the length times width dependence of CGOV");
996 .setDescription(
"Coefficient for the geometry independent part of CGOV for drain side");
1000 .setDescription(
"Coefficient for the length dependence of CGOV for drain side");
1004 .setDescription(
"Coefficient for the width dependence of CGOV for drain side");
1008 .setDescription(
"Coefficient for the length times width dependence of CGOV for drain side");
1012 .setDescription(
"Coefficient for the geometry independent part of CGBOV");
1016 .setDescription(
"Coefficient for the length dependence of CGBOV");
1020 .setDescription(
"Coefficient for the width dependence of CGBOV");
1024 .setDescription(
"Coefficient for the length times width dependence of CGBOV");
1028 .setDescription(
"Coefficient for the geometry independent part of CFR");
1032 .setDescription(
"Coefficient for the length dependence of CFR");
1036 .setDescription(
"Coefficient for the width dependence of CFR");
1040 .setDescription(
"Coefficient for the length times width dependence of CFR");
1044 .setDescription(
"Coefficient for the geometry independent part of CFR for drain side");
1048 .setDescription(
"Coefficient for the length dependence of CFR for drain side");
1052 .setDescription(
"Coefficient for the width dependence of CFR for drain side");
1056 .setDescription(
"Coefficient for the length times width dependence of CFR for drain side");
1058 .setDescription(
"Coefficient for the geometry independent part of FNT");
1060 .setDescription(
"Coefficient for the geometry independent part of NFA");
1062 .setDescription(
"Coefficient for the length dependence of NFA");
1064 .setDescription(
"Coefficient for the width dependence of NFA");
1066 .setDescription(
"Coefficient for the length times width dependence of NFA");
1068 .setDescription(
"Coefficient for the geometry independent part of NFB");
1070 .setDescription(
"Coefficient for the length dependence of NFB");
1072 .setDescription(
"Coefficient for the width dependence of NFB");
1074 .setDescription(
"Coefficient for the length times width dependence of NFB");
1076 .setDescription(
"Coefficient for the geometry independent part of NFC");
1078 .setDescription(
"Coefficient for the length dependence of NFC");
1080 .setDescription(
"Coefficient for the width dependence of NFC");
1082 .setDescription(
"Coefficient for the length times width dependence of NFC");
1084 .setDescription(
"Coefficient for the flicker noise frequency exponent");
1086 .setDescription(
"Coefficient for the geometry independent part of KVTHOWE");
1088 .setDescription(
"Coefficient for the length dependence part of KVTHOWE");
1090 .setDescription(
"Coefficient for the width dependence part of KVTHOWE");
1092 .setDescription(
"Coefficient for the length times width dependence part of KVTHOWE");
1094 .setDescription(
"Coefficient for the geometry independent part of KUOWE");
1096 .setDescription(
"Coefficient for the length dependence part of KUOWE");
1098 .setDescription(
"Coefficient for the width dependence part of KUOWE");
1100 .setDescription(
"Coefficient for the length times width dependence part of KUOWE");
1104 .setDescription(
"Dummy parameter to label binning set");
1108 .setDescription(
"Dummy parameter to label binning set");
1112 .setDescription(
"Dummy parameter to label binning set");
1116 .setDescription(
"Dummy parameter to label binning set");
1120 .setDescription(
"Geom. independent difference between actual and programmed gate length");
1122 .setDescription(
"Length dependence of LVAR");
1124 .setDescription(
"Width dependence of LVAR");
1128 .setDescription(
"Effective channel length reduction per side");
1132 .setDescription(
"Geom. independent difference between actual and programmed field-oxide opening");
1134 .setDescription(
"Length dependence of WVAR");
1136 .setDescription(
"Width dependence of WVAR");
1140 .setDescription(
"Effective channel width reduction per side");
1144 .setDescription(
"Effective channel length reduction for CV");
1148 .setDescription(
"Effective channel width reduction for CV");
1152 .setDescription(
"Geometry-independent flat-band voltage at TR");
1156 .setDescription(
"Length dependence of flat-band voltage");
1160 .setDescription(
"Width dependence of flat-band voltage");
1164 .setDescription(
"Area dependence of flat-band voltage");
1168 .setDescription(
"Geometry-independent temperature dependence of VFB");
1172 .setDescription(
"Length dependence of temperature dependence of VFB");
1176 .setDescription(
"Width dependence of temperature dependence of VFB");
1180 .setDescription(
"Area dependence of temperature dependence of VFB");
1184 .setDescription(
"Gate oxide thickness");
1186 .setDescription(
"Relative permittivity of gate dielectric");
1190 .setDescription(
"Geometry independent substrate doping");
1192 .setDescription(
"Width dependence of background doping NSUBO due to segregation");
1196 .setDescription(
"Char. length of segregation of background doping NSUBO");
1200 .setDescription(
"Pocket doping level");
1202 .setDescription(
"Width dependence of pocket doping NPCK due to segregation");
1206 .setDescription(
"Char. length of segregation of pocket doping NPCK");
1210 .setDescription(
"Char. length of lateral doping profile");
1212 .setDescription(
"Width dependence of char. length of lateral doping profile");
1214 .setDescription(
"First length dependence coefficient for short channel body effect");
1216 .setDescription(
"Second length dependence coefficient for short channel body effect");
1218 .setDescription(
"Geom. independent pre-factor for effective substrate doping in separate charge calculation");
1220 .setDescription(
"Length dependence of FACNEFFAC");
1222 .setDescription(
"Width dependence of FACNEFFAC");
1224 .setDescription(
"Area dependence of FACNEFFAC");
1226 .setDescription(
"Geom. independent bodyfactor change due to NUD-effect");
1228 .setDescription(
"Length dependence of GFACNUD");
1230 .setDescription(
"Exponent for length dependence of GFACNUD");
1232 .setDescription(
"Width dependence of GFACNUD");
1234 .setDescription(
"Area dependence of GFACNUD");
1238 .setDescription(
"Lower Vsb value for NUD-effect");
1242 .setDescription(
"Vsb range for NUD-effect");
1246 .setDescription(
"Effective doping bias-dependence parameter");
1250 .setDescription(
"Effective doping bias-dependence parameter");
1254 .setDescription(
"Effective doping bias-dependence parameter");
1258 .setDescription(
"Geometry independent offset of PHIB");
1262 .setDescription(
"Length dependence offset of PHIB");
1264 .setDescription(
"Exponent for length dependence of offset of PHIB");
1268 .setDescription(
"Width dependence of offset of PHIB");
1272 .setDescription(
"Area dependence of offset of PHIB");
1276 .setDescription(
"Geom. independent offset parameter for PHIB in separate charge calculation");
1280 .setDescription(
"Length dependence of DELVTAC");
1282 .setDescription(
"Exponent for length dependence of offset of DELVTAC");
1286 .setDescription(
"Width dependence of DELVTAC");
1290 .setDescription(
"Area dependence of DELVTAC");
1294 .setDescription(
"Geometry-independent gate poly-silicon doping");
1296 .setDescription(
"Length dependence of gate poly-silicon doping");
1298 .setDescription(
"Geometry-independent interface states factor");
1300 .setDescription(
"Length dependence of interface states factor");
1302 .setDescription(
"Exponent for length dependence of interface states factor");
1304 .setDescription(
"Width dependence of interface states factor");
1306 .setDescription(
"Area dependence of interface states factor");
1310 .setDescription(
"Overlap oxide thickness");
1314 .setDescription(
"Overlap oxide thickness for drain side");
1318 .setDescription(
"Overlap length for gate/drain and gate/source overlap capacitance");
1322 .setDescription(
"Overlap length for gate/drain overlap capacitance");
1326 .setDescription(
"Effective doping of overlap region");
1330 .setDescription(
"Effective doping of overlap region for drain side");
1332 .setDescription(
"Length dependence of DIBL-parameter");
1334 .setDescription(
"Exponent for length dependence of CF");
1336 .setDescription(
"Width dependence of CF");
1340 .setDescription(
"Back-bias dependence of CF");
1344 .setDescription(
"Zero-field mobility at TR");
1346 .setDescription(
"Relative mobility decrease due to first lateral profile");
1348 .setDescription(
"Width dependence of relative mobility decrease due to first lateral profile");
1352 .setDescription(
"Mobility-related characteristic length of first lateral profile");
1354 .setDescription(
"Width dependence of mobility-related characteristic length of first lateral profile");
1356 .setDescription(
"Relative mobility decrease due to second lateral profile");
1360 .setDescription(
"Mobility-related characteristic length of second lateral profile");
1362 .setDescription(
"First higher-order width scaling coefficient of BETN");
1364 .setDescription(
"Second higher-order width scaling coefficient of BETN");
1368 .setDescription(
"Characteristic width for width scaling of BETN");
1370 .setDescription(
"Geometry independent temperature dependence of BETN");
1372 .setDescription(
"Length dependence of temperature dependence of BETN");
1374 .setDescription(
"Width dependence of temperature dependence of BETN");
1376 .setDescription(
"Area dependence of temperature dependence of BETN");
1380 .setDescription(
"Geometry independent mobility reduction coefficient at TR");
1382 .setDescription(
"Width dependence of mobility reduction coefficient at TR");
1384 .setDescription(
"Temperature dependence of MUE");
1386 .setDescription(
"Mobility reduction exponent at TR");
1388 .setDescription(
"Temperature dependence of THEMU");
1390 .setDescription(
"Geometry independent coulomb scattering parameter at TR");
1392 .setDescription(
"Length dependence of CS");
1394 .setDescription(
"Exponent for length dependence of CS");
1396 .setDescription(
"Width dependence of CS");
1398 .setDescription(
"Area dependence of CS");
1400 .setDescription(
"Temperature dependence of CS");
1404 .setDescription(
"Geometry independent non-universality parameter");
1406 .setDescription(
"Length dependence of non-universality parameter");
1408 .setDescription(
"Width dependence of non-universality parameter");
1410 .setDescription(
"Area dependence of non-universality parameter");
1412 .setDescription(
"Temperature dependence of XCOR");
1414 .setDescription(
"Effective field parameter");
1418 .setDescription(
"Source/drain series resistance for 1 um wide channel at TR");
1420 .setDescription(
"Higher-order width scaling of RS");
1422 .setDescription(
"Temperature dependence of RS");
1426 .setDescription(
"Back-bias dependence of series resistance");
1430 .setDescription(
"Gate-bias dependence of series resistance");
1434 .setDescription(
"Geometry independent velocity saturation parameter at TR");
1438 .setDescription(
"Length dependence of THESAT");
1440 .setDescription(
"Exponent for length dependence of THESAT");
1442 .setDescription(
"Width dependence of velocity saturation parameter");
1444 .setDescription(
"Area dependence of velocity saturation parameter");
1446 .setDescription(
"Geometry independent temperature dependence of THESAT");
1448 .setDescription(
"Length dependence of temperature dependence of THESAT");
1450 .setDescription(
"Width dependence of temperature dependence of THESAT");
1452 .setDescription(
"Area dependence of temperature dependence of THESAT");
1456 .setDescription(
"Back-bias dependence of velocity saturation");
1460 .setDescription(
"Gate-bias dependence of velocity saturation");
1462 .setDescription(
"Geometry independent linear/saturation transition factor");
1464 .setDescription(
"Length dependence of AX");
1466 .setDescription(
"Length dependence of ALP");
1468 .setDescription(
"Exponent for length dependence of ALP");
1470 .setDescription(
"Width dependence of ALP");
1474 .setDescription(
"Length dependence of CLM enhancement factor above threshold");
1476 .setDescription(
"Exponent for length dependence of ALP1");
1478 .setDescription(
"Second order length dependence of ALP1");
1480 .setDescription(
"Width dependence of ALP1");
1484 .setDescription(
"Length dependence of CLM enhancement factor below threshold");
1486 .setDescription(
"Exponent for length dependence of ALP2");
1488 .setDescription(
"Second order length dependence of ALP2");
1490 .setDescription(
"Width dependence of ALP2");
1494 .setDescription(
"CLM logarithmic dependence parameter");
1496 .setDescription(
"Geometry independent impact-ionization pre-factor");
1498 .setDescription(
"Length dependence of A1");
1500 .setDescription(
"Width dependence of A1");
1504 .setDescription(
"Impact-ionization exponent at TR");
1508 .setDescription(
"Temperature dependence of A2");
1510 .setDescription(
"Geometry independent saturation-voltage dependence of II");
1512 .setDescription(
"Length dependence of A3");
1514 .setDescription(
"Width dependence of A3");
1518 .setDescription(
"Geometry independent back-bias dependence of II");
1520 .setDescription(
"Length dependence of A4");
1522 .setDescription(
"Width dependence of A4");
1524 .setDescription(
"Gate tunneling energy adjustment");
1528 .setDescription(
"Gate channel current pre-factor for 1 um**2 channel area");
1532 .setDescription(
"Gate overlap current pre-factor for 1 um wide channel");
1536 .setDescription(
"Gate overlap current pre-factor for 1 um wide channel for drain side");
1538 .setDescription(
"Temperature dependence of IGINV and IGOV");
1540 .setDescription(
"Gate current slope factor");
1542 .setDescription(
"Gate current curvature factor");
1546 .setDescription(
"Tunneling barrier height");
1550 .setDescription(
"Width dependence of GIDL pre-factor");
1554 .setDescription(
"Width dependence of GIDL pre-factor for drain side");
1558 .setDescription(
"GIDL probability factor at TR");
1562 .setDescription(
"GIDL probability factor at TR for drain side");
1566 .setDescription(
"Temperature dependence of BGIDL");
1570 .setDescription(
"Temperature dependence of BGIDL for drain side");
1572 .setDescription(
"Back-bias dependence of GIDL");
1574 .setDescription(
"Back-bias dependence of GIDL for drain side");
1578 .setDescription(
"Oxide capacitance for gate-bulk overlap for 1 um long channel");
1582 .setDescription(
"Outer fringe capacitance for 1 um wide channel");
1586 .setDescription(
"Outer fringe capacitance for 1 um wide channel for drain side");
1588 .setDescription(
"Thermal noise coefficient");
1590 .setDescription(
"First coefficient of flicker noise for 1 um**2 channel area");
1592 .setDescription(
"Second coefficient of flicker noise for 1 um**2 channel area");
1596 .setDescription(
"Third coefficient of flicker noise for 1 um**2 channel area");
1598 .setDescription(
"Flicker noise frequency exponent");
1602 .setDescription(
"Length offset for flicker noise");
1604 .setDescription(
"Exponent for length offset for flicker noise");
1606 .setDescription(
"Geometrical independent threshold shift parameter");
1608 .setDescription(
"Length dependent threshold shift parameter");
1610 .setDescription(
"Width dependent threshold shift parameter");
1612 .setDescription(
"Area dependent threshold shift parameter");
1614 .setDescription(
"Geometrical independent mobility degradation factor");
1616 .setDescription(
"Length dependent mobility degradation factor");
1618 .setDescription(
"Width dependent mobility degradation factor");
1620 .setDescription(
"Area dependent mobility degradation factor");
1624 .setDescription(
"Gate resistance");
1628 .setDescription(
"Contact resistance between silicide and ploy");
1632 .setDescription(
"Vertical poly resistance");
1636 .setDescription(
"Gate electrode diffusion sheet resistance");
1640 .setDescription(
"Silicide extension over the physical gate length");
1644 .setDescription(
"Sheet resistance of source diffusion");
1648 .setDescription(
"Sheet resistance of drain diffusion");
1652 .setDescription(
"Bulk resistance between node BP and BI");
1656 .setDescription(
"Well resistance between node BI and B");
1660 .setDescription(
"Source-side bulk resistance between node BI and BS");
1664 .setDescription(
"Drain-side bulk resistance between node BI and BD");
1668 .setDescription(
"Reference distance between OD-edge and poly from one side");
1672 .setDescription(
"Reference distance between OD-edge and poly from other side");
1676 .setDescription(
"Width parameter");
1680 .setDescription(
"Mobility degradation/enhancement coefficient");
1684 .setDescription(
"Saturation velocity degradation/enhancement coefficient");
1686 .setDescription(
"Temperature dependence of KUO");
1688 .setDescription(
"Length dependence of KUO");
1690 .setDescription(
"Width dependence of KUO");
1692 .setDescription(
"Cross-term dependence of KUO");
1694 .setDescription(
"Length parameter for UO stress effect");
1696 .setDescription(
"Width parameter for UO stress effect");
1700 .setDescription(
"Threshold shift parameter");
1702 .setDescription(
"Length dependence of KVTHO");
1704 .setDescription(
"Width dependence of KVTHO");
1706 .setDescription(
"Cross-term dependence of KVTHO");
1708 .setDescription(
"Length parameter for VTH-stress effect");
1710 .setDescription(
"Width parameter for VTH-stress effect");
1714 .setDescription(
"eta0 shift factor related to VTHO change");
1716 .setDescription(
"eta0 shift modification factor for stress effect");
1720 .setDescription(
"Distance between OD-edge and well edge of a reference device");
1722 .setDescription(
"Coefficient for SCB");
1724 .setDescription(
"Coefficient for SCC");
1726 .setDescription(
"Maximum current up to which forward current behaves exponentially");
1728 .setDescription(
"reference temperature");
1730 .setDescription(
"Zero-bias capacitance per unit-of-area of bottom component for source-bulk junction");
1732 .setDescription(
"Zero-bias capacitance per unit-of-length of STI-edge component for source-bulk junction");
1734 .setDescription(
"Zero-bias capacitance per unit-of-length of gate-edge component for source-bulk junction");
1736 .setDescription(
"Built-in voltage at the reference temperature of bottom component for source-bulk junction");
1738 .setDescription(
"Built-in voltage at the reference temperature of STI-edge component for source-bulk junction");
1740 .setDescription(
"Built-in voltage at the reference temperature of gate-edge component for source-bulk junction");
1742 .setDescription(
"Grading coefficient of bottom component for source-bulk junction");
1744 .setDescription(
"Grading coefficient of STI-edge component for source-bulk junction");
1746 .setDescription(
"Grading coefficient of gate-edge component for source-bulk junction");
1748 .setDescription(
"Zero-temperature bandgap voltage of bottom component for source-bulk junction");
1750 .setDescription(
"Zero-temperature bandgap voltage of STI-edge component for source-bulk junction");
1752 .setDescription(
"Zero-temperature bandgap voltage of gate-edge component for source-bulk junction");
1754 .setDescription(
"Saturation current density at the reference temperature of bottom component for source-bulk junction");
1756 .setDescription(
"Saturation current density at the reference temperature of STI-edge component for source-bulk junction");
1758 .setDescription(
"Saturation current density at the reference temperature of gate-edge component for source-bulk junction");
1760 .setDescription(
"Shockley-Read-Hall prefactor of bottom component for source-bulk junction");
1762 .setDescription(
"Shockley-Read-Hall prefactor of STI-edge component for source-bulk junction");
1764 .setDescription(
"Shockley-Read-Hall prefactor of gate-edge component for source-bulk junction");
1766 .setDescription(
"Junction depth of STI-edge component for source-bulk junction");
1768 .setDescription(
"Junction depth of gate-edge component for source-bulk junction");
1770 .setDescription(
"Trap-assisted tunneling prefactor of bottom component for source-bulk junction");
1772 .setDescription(
"Trap-assisted tunneling prefactor of STI-edge component for source-bulk junction");
1774 .setDescription(
"Trap-assisted tunneling prefactor of gate-edge component for source-bulk junction");
1776 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of bottom component for source-bulk junction");
1778 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of STI-edge component for source-bulk junction");
1780 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of gate-edge component for source-bulk junction");
1782 .setDescription(
"Band-to-band tunneling prefactor of bottom component for source-bulk junction");
1784 .setDescription(
"Band-to-band tunneling prefactor of STI-edge component for source-bulk junction");
1786 .setDescription(
"Band-to-band tunneling prefactor of gate-edge component for source-bulk junction");
1788 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of bottom component for source-bulk junction");
1790 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of STI-edge component for source-bulk junction");
1792 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of gate-edge component for source-bulk junction");
1794 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of bottom component for source-bulk junction");
1796 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of STI-edge component for source-bulk junction");
1798 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of gate-edge component for source-bulk junction");
1800 .setDescription(
"Breakdown voltage of bottom component for source-bulk junction");
1802 .setDescription(
"Breakdown voltage of STI-edge component for source-bulk junction");
1804 .setDescription(
"Breakdown voltage of gate-edge component for source-bulk junction");
1806 .setDescription(
"Breakdown onset tuning parameter of bottom component for source-bulk junction");
1808 .setDescription(
"Breakdown onset tuning parameter of STI-edge component for source-bulk junction");
1810 .setDescription(
"Breakdown onset tuning parameter of gate-edge component for source-bulk junction");
1812 .setDescription(
"Zero-bias capacitance per unit-of-area of bottom component for drain-bulk junction");
1814 .setDescription(
"Zero-bias capacitance per unit-of-length of STI-edge component for drain-bulk junction");
1816 .setDescription(
"Zero-bias capacitance per unit-of-length of gate-edge component for drain-bulk junction");
1818 .setDescription(
"Built-in voltage at the reference temperature of bottom component for drain-bulk junction");
1820 .setDescription(
"Built-in voltage at the reference temperature of STI-edge component for drain-bulk junction");
1822 .setDescription(
"Built-in voltage at the reference temperature of gate-edge component for drain-bulk junction");
1824 .setDescription(
"Grading coefficient of bottom component for drain-bulk junction");
1826 .setDescription(
"Grading coefficient of STI-edge component for drain-bulk junction");
1828 .setDescription(
"Grading coefficient of gate-edge component for drain-bulk junction");
1830 .setDescription(
"Zero-temperature bandgap voltage of bottom component for drain-bulk junction");
1832 .setDescription(
"Zero-temperature bandgap voltage of STI-edge component for drain-bulk junction");
1834 .setDescription(
"Zero-temperature bandgap voltage of gate-edge component for drain-bulk junction");
1836 .setDescription(
"Saturation current density at the reference temperature of bottom component for drain-bulk junction");
1838 .setDescription(
"Saturation current density at the reference temperature of STI-edge component for drain-bulk junction");
1840 .setDescription(
"Saturation current density at the reference temperature of gate-edge component for drain-bulk junction");
1842 .setDescription(
"Shockley-Read-Hall prefactor of bottom component for drain-bulk junction");
1844 .setDescription(
"Shockley-Read-Hall prefactor of STI-edge component for drain-bulk junction");
1846 .setDescription(
"Shockley-Read-Hall prefactor of gate-edge component for drain-bulk junction");
1848 .setDescription(
"Junction depth of STI-edge component for drain-bulk junction");
1850 .setDescription(
"Junction depth of gate-edge component for drain-bulk junction");
1852 .setDescription(
"Trap-assisted tunneling prefactor of bottom component for drain-bulk junction");
1854 .setDescription(
"Trap-assisted tunneling prefactor of STI-edge component for drain-bulk junction");
1856 .setDescription(
"Trap-assisted tunneling prefactor of gate-edge component for drain-bulk junction");
1858 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of bottom component for drain-bulk junction");
1860 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of STI-edge component for drain-bulk junction");
1862 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of gate-edge component for drain-bulk junction");
1864 .setDescription(
"Band-to-band tunneling prefactor of bottom component for drain-bulk junction");
1866 .setDescription(
"Band-to-band tunneling prefactor of STI-edge component for drain-bulk junction");
1868 .setDescription(
"Band-to-band tunneling prefactor of gate-edge component for drain-bulk junction");
1870 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of bottom component for drain-bulk junction");
1872 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of STI-edge component for drain-bulk junction");
1874 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of gate-edge component for drain-bulk junction");
1876 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of bottom component for drain-bulk junction");
1878 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of STI-edge component for drain-bulk junction");
1880 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of gate-edge component for drain-bulk junction");
1882 .setDescription(
"Breakdown voltage of bottom component for drain-bulk junction");
1884 .setDescription(
"Breakdown voltage of STI-edge component for drain-bulk junction");
1886 .setDescription(
"Breakdown voltage of gate-edge component for drain-bulk junction");
1888 .setDescription(
"Breakdown onset tuning parameter of bottom component for drain-bulk junction");
1890 .setDescription(
"Breakdown onset tuning parameter of STI-edge component for drain-bulk junction");
1892 .setDescription(
"Breakdown onset tuning parameter of gate-edge component for drain-bulk junction");
1894 .setDescription(
"Flag for JUNCAP-express; 0=full model, 1=express model");
1896 .setDescription(
"Typical maximum source-bulk junction voltage; usually about 2*VSUP");
1898 .setDescription(
"Fraction below which source-bulk junction capacitance components are considered negligible");
1900 .setDescription(
"Typical maximum drain-bulk junction voltage; usually about 2*VSUP");
1902 .setDescription(
"Fraction below which drain-bulk junction capacitance components are considered negligible");
1906 .setDescription(
"Temperature offset w.r.t. ambient temperature");
1924 if ( (!((
L >=1e-9))) )
1926 UserError0(*
this) <<
"ADMSPSP103VA: Parameter L value " <<
L <<
" out of range [ 1e-9, (+inf) [";
1930 if ( (!((
W >=1e-9))) )
1932 UserError0(*
this) <<
"ADMSPSP103VA: Parameter W value " <<
W <<
" out of range [ 1e-9, (+inf) [";
1936 if ( (!((
SCA >=0.0))) )
1938 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCA value " <<
SCA <<
" out of range [ 0.0, (+inf) [";
1942 if ( (!((
SCB >=0.0))) )
1944 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCB value " <<
SCB <<
" out of range [ 0.0, (+inf) [";
1948 if ( (!((
SCC >=0.0))) )
1950 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCC value " <<
SCC <<
" out of range [ 0.0, (+inf) [";
1954 if ( (!((
NF >=1.0))) )
1956 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NF value " <<
NF <<
" out of range [ 1.0, (+inf) [";
1962 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NGCON value " <<
NGCON <<
" out of range [ 1.0, 2.0 ]";
1966 if ( (!((
JW >=0))) )
1968 UserError0(*
this) <<
"ADMSPSP103VA: Parameter JW value " <<
JW <<
" out of range [ 0, (+inf) [";
1972 if ( (!((
FACTUO >=0.0))) )
1974 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FACTUO value " <<
FACTUO <<
" out of range [ 0.0, (+inf) [";
1980 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ABSOURCE value " <<
ABSOURCE <<
" out of range [ 0, (+inf) [";
1986 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LSSOURCE value " <<
LSSOURCE <<
" out of range [ 0, (+inf) [";
1992 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LGSOURCE value " <<
LGSOURCE <<
" out of range [ 0, (+inf) [";
1998 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ABDRAIN value " <<
ABDRAIN <<
" out of range [ 0, (+inf) [";
2004 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LSDRAIN value " <<
LSDRAIN <<
" out of range [ 0, (+inf) [";
2010 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LGDRAIN value " <<
LGDRAIN <<
" out of range [ 0, (+inf) [";
2014 if ( (!((
AS >=0))) )
2016 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AS value " <<
AS <<
" out of range [ 0, (+inf) [";
2020 if ( (!((
PS >=0))) )
2022 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PS value " <<
PS <<
" out of range [ 0, (+inf) [";
2026 if ( (!((
AD >=0))) )
2028 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AD value " <<
AD <<
" out of range [ 0, (+inf) [";
2032 if ( (!((
PD >=0))) )
2034 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PD value " <<
PD <<
" out of range [ 0, (+inf) [";
2038 if ( (!((
MULT >=0.0))) )
2040 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MULT value " <<
MULT <<
" out of range [ 0.0, (+inf) [";
2075 double erfctimesexpmtat;
2082 double umaxpoweronepointfive;
2085 double umaxbeforelimiting;
2086 double twoatatoverthreebtat;
2161 double CoxovPrime_d;
2403 NF_i = ((
NF>1.0)?
NF:1.0);
2404 NF_i = floor((NF_i+0.5));
2406 L_i = ((L_i>1e-9)?L_i:1e-9);
2407 W_i = (((W_i*invNF)>1e-9)?(W_i*invNF):1e-9);
2408 SCA_i = ((
SCA>0.0)?
SCA:0.0);
2409 SCB_i = ((
SCB>0.0)?
SCB:0.0);
2410 SCC_i = ((
SCC>0.0)?
SCC:0.0);
2411 NGCON_i = ((
NGCON<1.5)?1.0:2.0);
2426 LE = ((((L_i+delLPS)-(2.0*(
model_.
LAP)))>1e-9)?((L_i+delLPS)-(2.0*(
model_.
LAP))):1e-9);
2427 WE = ((((W_i+delWOD)-(2.0*(
model_.
WOT)))>1e-9)?((W_i+delWOD)-(2.0*(
model_.
WOT))):1e-9);
2434 L_f = (((L_i+delLPS)>1e-9)?(L_i+delLPS):1e-9);
2436 W_f = (((W_i+delWOD)>1e-9)?(W_i+delWOD):1e-9);
2437 XGWE = (((XGW_i-(0.5*delWOD))>1e-9)?(XGW_i-(0.5*delWOD)):1e-9);
2539 BB = (sqrt((NSUB0e+(0.5*NPCKe)))-sqrt(NSUB0e));
2540 NSUB = (sqrt(NSUB0e)+(AA*log((1+(((2*LPCKe)/LE)*(exp((BB/AA))-1))))));
2547 NSUB = (NSUB0e+((NPCKe*LPCKe)/LE));
2551 NSUB = (NSUB0e+(NPCKe*(2-(LE/LPCKe))));
2575 GPE = ((GPE>1e-15)?GPE:1e-15);
2577 BETN_p = ((((
model_.
UO)*WE)/(GPE*LE))*GWE);
2631 Lnoi = ((temp0>1.0e-3)?temp0:1.0e-3);
2646 iiLEWE = (iiLE*iiWE);
2647 iiiLEWE = (iiWE/iiLE);
2648 iiLEcv = (LEcv/LEN);
2649 iiWEcv = (WEcv/WEN);
2650 iiLEWEcv = (iiLEcv*iiWEcv);
2652 iiiLEWEcv = (iiWEcv/iiLEcv);
2655 iiLWcv = (iiLcv*iiWcv);
2657 iiiLWcv = (iiWcv/iiLcv);
2755 if ((((SA_i>0.0)&&(SB_i>0.0))&&((NF_i==1.0)||((NF_i>1.0)&&(SD_i>0.0)))))
2757 while ((loop<(NF_i-0.5)))
2759 tmpa = (tmpa+(1.0/((SA_i+(0.5*L_i))+(loop*(SD_i+L_i)))));
2760 tmpb = (tmpb+(1.0/((SB_i+(0.5*L_i))+(loop*(SD_i+L_i)))));
2763 Invsa = (tmpa*invNF);
2764 Invsb = (tmpb*invNF);
2767 Lx = (((L_i+delLPS)>1e-9)?(L_i+delLPS):1e-9);
2772 rhobeta = (((
model_.
KUO)*(Invsa+Invsb))/Kstressu0);
2773 rhobetaref = (((
model_.
KUO)*(Invsaref+Invsbref))/Kstressu0);
2777 temp0 = (((Invsa+Invsb)-Invsaref)-Invsbref);
2778 BETN_p = ((BETN_p*(1.0+rhobeta))/(1.0+rhobetaref));
2779 THESAT_p = (((THESAT_p*(1.0+rhobeta))*(1.0+((
model_.
KVSAT_i)*rhobetaref)))/((1.0+rhobetaref)*(1.0+((
model_.
KVSAT_i)*rhobeta))));
2780 VFB_p = (VFB_p+(((
model_.
KVTHO)*temp0)/Kstressvth0));
2783 if (((((SCA_i>0.0)||(SCB_i>0.0))||(SCC_i>0.0))||(SC_i>0.0)))
2785 if ((((SCA_i==0.0)&&(SCB_i==0.0))&&(SCC_i==0.0)))
2790 SCB_i = (((((0.1*SC_i)+(0.01*(
model_.
SCREF_i)))*exp((((-10.0)*SC_i)*temp00)))-(((0.1*temp0)+(0.01*(
model_.
SCREF_i)))*exp((((-10.0)*temp0)*temp00))))/W_i);
2791 SCC_i = (((((0.05*SC_i)+(0.0025*(
model_.
SCREF_i)))*exp((((-20.0)*SC_i)*temp00)))-(((0.05*temp0)+(0.0025*(
model_.
SCREF_i)))*exp((((-20.0)*temp0)*temp00))))/W_i);
2794 VFB_p = (VFB_p+(KVTHOWE*temp0));
2795 BETN_p = (BETN_p*(1.0+(KUOWE*temp0)));
2800 TOX_i = ((TOX_p>1e-10)?TOX_p:1e-10);
2801 EPSROX_i = ((EPSROX_p>1.0)?EPSROX_p:1.0);
2802 NEFF_i = ((NEFF_p>1e20)?((NEFF_p<1e26)?NEFF_p:1e26):1e20);
2803 FACNEFFAC_i = ((FACNEFFAC_p>0.0)?FACNEFFAC_p:0.0);
2804 GFACNUD_i = ((GFACNUD_p>0.01)?GFACNUD_p:0.01);
2805 VSBNUD_i = ((VSBNUD_p>0.0)?VSBNUD_p:0.0);
2806 DVSBNUD_i = ((DVSBNUD_p>0.1)?DVSBNUD_p:0.1);
2808 NSLP_i = ((NSLP_p>1e-3)?NSLP_p:1e-3);
2809 DNSUB_i = ((DNSUB_p>0.0)?((DNSUB_p<1.0)?DNSUB_p:1.0):0.0);
2811 DELVTAC_i = DELVTAC_p;
2812 NP_i = ((NP_p>0.0)?NP_p:0.0);
2813 CT_i = ((CT_p>0.0)?CT_p:0.0);
2814 TOXOV_i = ((TOXOV_p>1e-10)?TOXOV_p:1e-10);
2815 TOXOVD_i = ((TOXOVD_p>1e-10)?TOXOVD_p:1e-10);
2816 NOV_i = ((NOV_p>1e20)?((NOV_p<1e27)?NOV_p:1e27):1e20);
2817 NOVD_i = ((NOVD_p>1e20)?((NOVD_p<1e27)?NOVD_p:1e27):1e20);
2818 CF_i = ((CF_p>0.0)?CF_p:0.0);
2819 CFB_i = ((CFB_p>0.0)?((CFB_p<1.0)?CFB_p:1.0):0.0);
2820 BETN_i = ((BETN_p>0.0)?BETN_p:0.0);
2822 MUE_i = ((MUE_p>0.0)?MUE_p:0.0);
2824 THEMU_i = ((THEMU_p>0.0)?THEMU_p:0.0);
2825 STTHEMU_i = STTHEMU_p;
2826 CS_i = ((CS_p>0.0)?CS_p:0.0);
2828 XCOR_i = ((XCOR_p>0.0)?XCOR_p:0.0);
2829 STXCOR_i = STXCOR_p;
2830 FETA_i = ((FETA_p>0.0)?FETA_p:0.0);
2831 RS_i = ((RS_p>0.0)?RS_p:0.0);
2833 RSB_i = ((RSB_p>(-0.5))?((RSB_p<1.0)?RSB_p:1.0):(-0.5));
2834 RSG_i = ((RSG_p>(-0.5))?RSG_p:(-0.5));
2835 THESAT_i = ((THESAT_p>0.0)?THESAT_p:0.0);
2836 STTHESAT_i = STTHESAT_p;
2837 THESATB_i = ((THESATB_p>(-0.5))?((THESATB_p<1.0)?THESATB_p:1.0):(-0.5));
2838 THESATG_i = ((THESATG_p>(-0.5))?THESATG_p:(-0.5));
2839 AX_i = ((AX_p>2.0)?AX_p:2.0);
2840 ALP_i = ((ALP_p>0.0)?ALP_p:0.0);
2841 ALP1_i = ((ALP1_p>0.0)?ALP1_p:0.0);
2842 ALP2_i = ((ALP2_p>0.0)?ALP2_p:0.0);
2843 VP_i = ((VP_p>1.0e-10)?VP_p:1.0e-10);
2844 A1_i = ((A1_p>0.0)?A1_p:0.0);
2845 A2_i = ((A2_p>0.0)?A2_p:0.0);
2847 A3_i = ((A3_p>0.0)?A3_p:0.0);
2848 A4_i = ((A4_p>0.0)?A4_p:0.0);
2849 GCO_i = ((GCO_p>(-10.0))?((GCO_p<10.0)?GCO_p:10.0):(-10.0));
2850 IGINV_i = ((IGINV_p>0.0)?IGINV_p:0.0);
2851 IGOV_i = ((IGOV_p>0.0)?IGOV_p:0.0);
2852 IGOVD_i = ((IGOVD_p>0.0)?IGOVD_p:0.0);
2854 GC2_i = ((GC2_p>0.0)?((GC2_p<10.0)?GC2_p:10.0):0.0);
2855 GC3_i = ((GC3_p>(-10.0))?((GC3_p<10.0)?GC3_p:10.0):(-10.0));
2856 CHIB_i = ((CHIB_p>1.0)?CHIB_p:1.0);
2857 AGIDL_i = ((AGIDL_p>0.0)?AGIDL_p:0.0);
2858 AGIDLD_i = ((AGIDLD_p>0.0)?AGIDLD_p:0.0);
2859 BGIDL_i = ((BGIDL_p>0.0)?BGIDL_p:0.0);
2860 BGIDLD_i = ((BGIDLD_p>0.0)?BGIDLD_p:0.0);
2861 STBGIDL_i = STBGIDL_p;
2862 STBGIDLD_i = STBGIDLD_p;
2865 COX_i = ((COX_p>0.0)?COX_p:0.0);
2866 CGOV_i = ((CGOV_p>0.0)?CGOV_p:0.0);
2867 CGOVD_i = ((CGOVD_p>0.0)?CGOVD_p:0.0);
2868 CGBOV_i = ((CGBOV_p>0.0)?CGBOV_p:0.0);
2869 CFR_i = ((CFR_p>0.0)?CFR_p:0.0);
2870 CFRD_i = ((CFRD_p>0.0)?CFRD_p:0.0);
2871 FNT_i = ((FNT_p>0.0)?FNT_p:0.0);
2872 NFA_i = ((NFA_p>0.0)?NFA_p:0.0);
2873 NFB_i = ((NFB_p>0.0)?NFB_p:0.0);
2874 NFC_i = ((NFC_p>0.0)?NFC_p:0.0);
2875 EF_i = ((EF_p>0.0)?EF_p:0.0);
2876 RG_i = ((RG_p>0.0)?RG_p:0.0);
2877 RSE_i = ((RSE_p>0.0)?RSE_p:0.0);
2878 RDE_i = ((RDE_p>0.0)?RDE_p:0.0);
2879 RBULK_i = ((RBULK_p>0.0)?RBULK_p:0.0);
2880 RJUNS_i = ((RJUNS_p>0.0)?RJUNS_p:0.0);
2881 RJUND_i = ((RJUND_p>0.0)?RJUND_p:0.0);
2882 RWELL_i = ((RWELL_p>0.0)?RWELL_p:0.0);
2892 STBGIDLD_i = STBGIDL_i;
2898 EPSOX = (8.8541878176E-12*EPSROX_i);
2904 CoxPrime = (EPSOX/TOX_i);
2905 tox_sq = (TOX_i*TOX_i);
2910 arg2max = (8.0e7/tox_sq);
2911 np = ((NP_i>arg2max)?NP_i:arg2max);
2912 np = ((5.0e24>np)?5.0e24:np);
2919 qq = (((0.4*5.951993)*(
model_.
QMC_i))*pow(CoxPrime,6.6666666666666667e-01));
2922 qq = ((7.448711/5.951993)*
qq);
2925 dphibq = ((0.75*
qq)*pow(qb0,6.6666666666666667e-01));
2926 phib_dc = (phib_dc+dphibq);
2927 G_0_dc = (G_0_dc*(1.0+(((2.0*6.6666666666666667e-01)*dphibq)/qb0)));
2937 CoxovPrime = (EPSOX/TOXOV_i);
2938 CoxovPrime_d = (EPSOX/TOXOVD_i);
2950 BETN_i = (BETN_i*tf_bet);
2951 BET_i = ((FACTUO_i*BETN_i)*CoxPrime);
2964 eta_mu = (3.3333333333333333e-01*FETA_i);
2965 eta_mu1 = 3.3333333333333333e-01;
2968 RS_i = (RS_i*tf_ther);
2970 tf_thesat = pow((
model_.
rTn),STTHESAT_i);
2981 tempM = (((4.0*3.3333333333333333e-01)*sqrt((((2*1.6021918E-19)*9.1093826E-31)*
CHIB_i)))/1.05457168E-34);
2982 BCH = (tempM*TOX_i);
2983 BOV = (tempM*TOXOV_i);
2984 BOV_d = (tempM*TOXOVD_i);
2995 tempM = (((1.0+(STBGIDL_i*(
model_.
dT)))>0)?(1.0+(STBGIDL_i*(
model_.
dT))):0);
2997 tempM = (((1.0+(STBGIDLD_i*(
model_.
dT)))>0)?(1.0+(STBGIDLD_i*(
model_.
dT))):0);
2999 nt = (((FNT_i*4)*1.3806505E-23)*(
model_.
TKD));
3000 Cox_over_q = (CoxPrime/1.6021918E-19);
3005 NEFFAC_i = (FACNEFFAC_i*NEFF_i);
3006 NEFFAC_i = ((NEFFAC_i>1e20)?((NEFFAC_i<1e26)?NEFFAC_i:1e26):1e20);
3013 dphibq = ((0.75*
qq)*pow(qb0,6.6666666666666667e-01));
3014 phib_ac = (phib_ac+dphibq);
3015 G_0_ac = (G_0_ac*(1.0+(((2.0*6.6666666666666667e-01)*dphibq)/qb0)));
3089 jww = ((JW_i>0)?JW_i:0);
3103 ABS_i = (AS_i*invNF);
3104 LSS_i = ((PS_i*invNF)-(jwcorr*jww));
3106 ABD_i = (AD_i*invNF);
3107 LSD_i = ((PD_i*invNF)-(jwcorr*jww));
3148 vbi_minus_vjsrh = 0.0;
3349 VMAX_s = std::min(std::min(vmaxbot,vmaxsti),vmaxgat);
3392 vbimin_s = std::min(std::min(vbibot2,vbisti2),vbigat2);
3394 pmax = std::max(std::max(pbot2,psti2),pgat2);
3396 vbbtlim_s = (std::min(std::min(vbibot2r,vbisti2r),vbigat2r)-0.050);
3533 VMAX_d = std::min(std::min(vmaxbot,vmaxsti),vmaxgat);
3576 vbimin_d = std::min(std::min(vbibot2,vbisti2),vbigat2);
3578 pmax = std::max(std::max(pbot2,psti2),pgat2);
3580 vbbtlim_d = (std::min(std::min(vbibot2r,vbisti2r),vbigat2r)-0.050);
3624 double twoatatoverthreebtat;
3625 double umaxbeforelimiting;
3628 double umaxpoweronepointfive;
3637 double erfctimesexpmtat;
3676 vbi_minus_vjsrh = 0.0;
3684 twoatatoverthreebtat = 0.0;
3685 umaxbeforelimiting = 0.0;
3688 umaxpoweronepointfive = 0.0;
3695 erfctimesexpmtat = 0.0;
3829 h2d = (V1+(
vch_s*h2));
3832 h5 = sqrt(((h4*h4)+h1));
3833 vj = (2.0*((V1*
vfmin_s)/(h3+h5)));
3844 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
3848 zinv = (1.0e100*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
3851 idmult = (zinv*
zinv);
3856 zinv = sqrt(idmult);
3858 idmult = (idmult-1.0);
3862 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
3866 two_psistar = ((-V1)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
3871 vav = (0.5*((V1)-sqrt((((V1)*(V1))+((4*1E-6)*1E-6)))));
3897 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
3904 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
3906 wsrh = (wsrhstep+dwsrh);
3926 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
3927 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
3928 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
3929 sqrtumax = sqrt(fabs(umax));
3930 umaxpoweronepointfive = (umax*sqrtumax);
3933 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
3939 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
3940 ktat = sqrt((0.375*(btat/sqrtumax)));
3941 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
3943 xerfc = ((ltat-1)*ktat);
3944 ysq = (xerfc*xerfc);
3953 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
3955 tmp = exp(((-ysq)+mtat));
3959 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
3961 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
3964 erfctimesexpmtat = erfcpos;
3968 if ((mtat>(-2.3025850929940458e+02)))
3974 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
3976 erfctimesexpmtat = ((2*tmp)-erfcpos);
3978 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
3996 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
4002 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
4004 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
4008 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4029 fbreakdown = (1/(1-tmp));
4036 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4062 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4069 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
4071 wsrh = (wsrhstep+dwsrh);
4091 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
4092 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4093 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4094 sqrtumax = sqrt(fabs(umax));
4095 umaxpoweronepointfive = (umax*sqrtumax);
4098 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4104 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4105 ktat = sqrt((0.375*(btat/sqrtumax)));
4106 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4108 xerfc = ((ltat-1)*ktat);
4109 ysq = (xerfc*xerfc);
4118 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4120 tmp = exp(((-ysq)+mtat));
4124 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4126 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4129 erfctimesexpmtat = erfcpos;
4133 if ((mtat>(-2.3025850929940458e+02)))
4139 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4141 erfctimesexpmtat = ((2*tmp)-erfcpos);
4143 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
4161 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
4167 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
4169 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
4173 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4194 fbreakdown = (1/(1-tmp));
4201 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4227 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4234 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
4236 wsrh = (wsrhstep+dwsrh);
4256 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
4257 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4258 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4259 sqrtumax = sqrt(fabs(umax));
4260 umaxpoweronepointfive = (umax*sqrtumax);
4263 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4269 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4270 ktat = sqrt((0.375*(btat/sqrtumax)));
4271 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4273 xerfc = ((ltat-1)*ktat);
4274 ysq = (xerfc*xerfc);
4283 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4285 tmp = exp(((-ysq)+mtat));
4289 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4291 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4294 erfctimesexpmtat = erfcpos;
4298 if ((mtat>(-2.3025850929940458e+02)))
4304 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4306 erfctimesexpmtat = ((2*tmp)-erfcpos);
4308 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
4326 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
4332 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
4334 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
4338 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4359 fbreakdown = (1/(1-tmp));
4366 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4375 h2d = (V2+(
vch_s*h2));
4378 h5 = sqrt(((h4*h4)+h1));
4379 vj = (2.0*((V2*
vfmin_s)/(h3+h5)));
4390 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
4394 zinv = (1.0e100*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4397 idmult = (zinv*
zinv);
4402 zinv = sqrt(idmult);
4404 idmult = (idmult-1.0);
4408 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
4412 two_psistar = ((-V2)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
4417 vav = (0.5*((V2)-sqrt((((V2)*(V2))+((4*1E-6)*1E-6)))));
4443 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4450 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
4452 wsrh = (wsrhstep+dwsrh);
4472 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
4473 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4474 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4475 sqrtumax = sqrt(fabs(umax));
4476 umaxpoweronepointfive = (umax*sqrtumax);
4479 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4485 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4486 ktat = sqrt((0.375*(btat/sqrtumax)));
4487 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4489 xerfc = ((ltat-1)*ktat);
4490 ysq = (xerfc*xerfc);
4499 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4501 tmp = exp(((-ysq)+mtat));
4505 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4507 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4510 erfctimesexpmtat = erfcpos;
4514 if ((mtat>(-2.3025850929940458e+02)))
4520 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4522 erfctimesexpmtat = ((2*tmp)-erfcpos);
4524 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
4542 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
4548 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
4550 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
4554 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4575 fbreakdown = (1/(1-tmp));
4582 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4608 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4615 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
4617 wsrh = (wsrhstep+dwsrh);
4637 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
4638 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4639 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4640 sqrtumax = sqrt(fabs(umax));
4641 umaxpoweronepointfive = (umax*sqrtumax);
4644 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4650 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4651 ktat = sqrt((0.375*(btat/sqrtumax)));
4652 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4654 xerfc = ((ltat-1)*ktat);
4655 ysq = (xerfc*xerfc);
4664 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4666 tmp = exp(((-ysq)+mtat));
4670 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4672 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4675 erfctimesexpmtat = erfcpos;
4679 if ((mtat>(-2.3025850929940458e+02)))
4685 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4687 erfctimesexpmtat = ((2*tmp)-erfcpos);
4689 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
4707 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
4713 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
4715 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
4719 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4740 fbreakdown = (1/(1-tmp));
4747 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4773 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4780 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
4782 wsrh = (wsrhstep+dwsrh);
4802 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
4803 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4804 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4805 sqrtumax = sqrt(fabs(umax));
4806 umaxpoweronepointfive = (umax*sqrtumax);
4809 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4815 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4816 ktat = sqrt((0.375*(btat/sqrtumax)));
4817 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4819 xerfc = ((ltat-1)*ktat);
4820 ysq = (xerfc*xerfc);
4829 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4831 tmp = exp(((-ysq)+mtat));
4835 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4837 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4840 erfctimesexpmtat = erfcpos;
4844 if ((mtat>(-2.3025850929940458e+02)))
4850 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4852 erfctimesexpmtat = ((2*tmp)-erfcpos);
4854 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
4872 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
4878 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
4880 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
4884 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4905 fbreakdown = (1/(1-tmp));
4912 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4921 h2d = (V3+(
vch_s*h2));
4924 h5 = sqrt(((h4*h4)+h1));
4925 vj = (2.0*((V3*
vfmin_s)/(h3+h5)));
4936 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
4940 zinv = (1.0e100*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4943 idmult = (zinv*
zinv);
4948 zinv = sqrt(idmult);
4950 idmult = (idmult-1.0);
4954 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
4958 two_psistar = ((-V3)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
4963 vav = (0.5*((V3)-sqrt((((V3)*(V3))+((4*1E-6)*1E-6)))));
4989 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4996 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
4998 wsrh = (wsrhstep+dwsrh);
5018 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
5019 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5020 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5021 sqrtumax = sqrt(fabs(umax));
5022 umaxpoweronepointfive = (umax*sqrtumax);
5025 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5031 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5032 ktat = sqrt((0.375*(btat/sqrtumax)));
5033 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5035 xerfc = ((ltat-1)*ktat);
5036 ysq = (xerfc*xerfc);
5045 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5047 tmp = exp(((-ysq)+mtat));
5051 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5053 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5056 erfctimesexpmtat = erfcpos;
5060 if ((mtat>(-2.3025850929940458e+02)))
5066 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5068 erfctimesexpmtat = ((2*tmp)-erfcpos);
5070 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
5088 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
5094 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
5096 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
5100 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5121 fbreakdown = (1/(1-tmp));
5128 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5154 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5161 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
5163 wsrh = (wsrhstep+dwsrh);
5183 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
5184 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5185 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5186 sqrtumax = sqrt(fabs(umax));
5187 umaxpoweronepointfive = (umax*sqrtumax);
5190 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5196 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5197 ktat = sqrt((0.375*(btat/sqrtumax)));
5198 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5200 xerfc = ((ltat-1)*ktat);
5201 ysq = (xerfc*xerfc);
5210 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5212 tmp = exp(((-ysq)+mtat));
5216 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5218 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5221 erfctimesexpmtat = erfcpos;
5225 if ((mtat>(-2.3025850929940458e+02)))
5231 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5233 erfctimesexpmtat = ((2*tmp)-erfcpos);
5235 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
5253 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
5259 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
5261 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
5265 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5286 fbreakdown = (1/(1-tmp));
5293 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5319 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5326 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
5328 wsrh = (wsrhstep+dwsrh);
5348 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
5349 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5350 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5351 sqrtumax = sqrt(fabs(umax));
5352 umaxpoweronepointfive = (umax*sqrtumax);
5355 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5361 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5362 ktat = sqrt((0.375*(btat/sqrtumax)));
5363 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5365 xerfc = ((ltat-1)*ktat);
5366 ysq = (xerfc*xerfc);
5375 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5377 tmp = exp(((-ysq)+mtat));
5381 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5383 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5386 erfctimesexpmtat = erfcpos;
5390 if ((mtat>(-2.3025850929940458e+02)))
5396 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5398 erfctimesexpmtat = ((2*tmp)-erfcpos);
5400 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
5418 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
5424 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
5426 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
5430 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5451 fbreakdown = (1/(1-tmp));
5458 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5467 h2d = (V4+(
vch_s*h2));
5470 h5 = sqrt(((h4*h4)+h1));
5471 vj = (2.0*((V4*
vfmin_s)/(h3+h5)));
5482 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
5486 zinv = (1.0e100*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5489 idmult = (zinv*
zinv);
5494 zinv = sqrt(idmult);
5496 idmult = (idmult-1.0);
5500 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
5504 two_psistar = ((-V4)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
5509 vav = (0.5*((V4)-sqrt((((V4)*(V4))+((4*1E-6)*1E-6)))));
5535 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5542 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
5544 wsrh = (wsrhstep+dwsrh);
5564 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
5565 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5566 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5567 sqrtumax = sqrt(fabs(umax));
5568 umaxpoweronepointfive = (umax*sqrtumax);
5571 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5577 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5578 ktat = sqrt((0.375*(btat/sqrtumax)));
5579 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5581 xerfc = ((ltat-1)*ktat);
5582 ysq = (xerfc*xerfc);
5591 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5593 tmp = exp(((-ysq)+mtat));
5597 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5599 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5602 erfctimesexpmtat = erfcpos;
5606 if ((mtat>(-2.3025850929940458e+02)))
5612 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5614 erfctimesexpmtat = ((2*tmp)-erfcpos);
5616 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
5634 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
5640 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
5642 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
5646 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5667 fbreakdown = (1/(1-tmp));
5674 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5700 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5707 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
5709 wsrh = (wsrhstep+dwsrh);
5729 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
5730 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5731 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5732 sqrtumax = sqrt(fabs(umax));
5733 umaxpoweronepointfive = (umax*sqrtumax);
5736 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5742 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5743 ktat = sqrt((0.375*(btat/sqrtumax)));
5744 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5746 xerfc = ((ltat-1)*ktat);
5747 ysq = (xerfc*xerfc);
5756 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5758 tmp = exp(((-ysq)+mtat));
5762 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5764 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5767 erfctimesexpmtat = erfcpos;
5771 if ((mtat>(-2.3025850929940458e+02)))
5777 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5779 erfctimesexpmtat = ((2*tmp)-erfcpos);
5781 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
5799 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
5805 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
5807 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
5811 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5832 fbreakdown = (1/(1-tmp));
5839 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5865 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5872 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
5874 wsrh = (wsrhstep+dwsrh);
5894 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
5895 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5896 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5897 sqrtumax = sqrt(fabs(umax));
5898 umaxpoweronepointfive = (umax*sqrtumax);
5901 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5907 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5908 ktat = sqrt((0.375*(btat/sqrtumax)));
5909 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5911 xerfc = ((ltat-1)*ktat);
5912 ysq = (xerfc*xerfc);
5921 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5923 tmp = exp(((-ysq)+mtat));
5927 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5929 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5932 erfctimesexpmtat = erfcpos;
5936 if ((mtat>(-2.3025850929940458e+02)))
5942 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5944 erfctimesexpmtat = ((2*tmp)-erfcpos);
5946 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
5964 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
5970 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
5972 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
5976 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5997 fbreakdown = (1/(1-tmp));
6004 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6013 h2d = (V5+(
vch_s*h2));
6016 h5 = sqrt(((h4*h4)+h1));
6017 vj = (2.0*((V5*
vfmin_s)/(h3+h5)));
6028 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
6032 zinv = (1.0e100*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6035 idmult = (zinv*
zinv);
6040 zinv = sqrt(idmult);
6042 idmult = (idmult-1.0);
6046 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
6050 two_psistar = ((-V5)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
6055 vav = (0.5*((V5)-sqrt((((V5)*(V5))+((4*1E-6)*1E-6)))));
6081 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6088 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
6090 wsrh = (wsrhstep+dwsrh);
6110 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
6111 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6112 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6113 sqrtumax = sqrt(fabs(umax));
6114 umaxpoweronepointfive = (umax*sqrtumax);
6117 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6123 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6124 ktat = sqrt((0.375*(btat/sqrtumax)));
6125 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6127 xerfc = ((ltat-1)*ktat);
6128 ysq = (xerfc*xerfc);
6137 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6139 tmp = exp(((-ysq)+mtat));
6143 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6145 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6148 erfctimesexpmtat = erfcpos;
6152 if ((mtat>(-2.3025850929940458e+02)))
6158 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6160 erfctimesexpmtat = ((2*tmp)-erfcpos);
6162 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
6180 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
6186 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
6188 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
6192 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6213 fbreakdown = (1/(1-tmp));
6220 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6246 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6253 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
6255 wsrh = (wsrhstep+dwsrh);
6275 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
6276 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6277 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6278 sqrtumax = sqrt(fabs(umax));
6279 umaxpoweronepointfive = (umax*sqrtumax);
6282 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6288 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6289 ktat = sqrt((0.375*(btat/sqrtumax)));
6290 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6292 xerfc = ((ltat-1)*ktat);
6293 ysq = (xerfc*xerfc);
6302 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6304 tmp = exp(((-ysq)+mtat));
6308 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6310 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6313 erfctimesexpmtat = erfcpos;
6317 if ((mtat>(-2.3025850929940458e+02)))
6323 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6325 erfctimesexpmtat = ((2*tmp)-erfcpos);
6327 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
6345 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
6351 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
6353 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
6357 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6378 fbreakdown = (1/(1-tmp));
6385 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6411 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6418 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
6420 wsrh = (wsrhstep+dwsrh);
6440 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
6441 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6442 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6443 sqrtumax = sqrt(fabs(umax));
6444 umaxpoweronepointfive = (umax*sqrtumax);
6447 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6453 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6454 ktat = sqrt((0.375*(btat/sqrtumax)));
6455 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6457 xerfc = ((ltat-1)*ktat);
6458 ysq = (xerfc*xerfc);
6467 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6469 tmp = exp(((-ysq)+mtat));
6473 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6475 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6478 erfctimesexpmtat = erfcpos;
6482 if ((mtat>(-2.3025850929940458e+02)))
6488 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6490 erfctimesexpmtat = ((2*tmp)-erfcpos);
6492 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
6510 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
6516 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
6518 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
6522 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6543 fbreakdown = (1/(1-tmp));
6550 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6558 if (((I4>0)&&(I5>0)))
6560 if ((((((I4_cor/I4)>0.001)||((I5_cor/I5)>0.001))&&(I4_cor>0))&&(I5_cor>0)))
6562 alphaje = (I4_cor/I5_cor);
6570 if ((((I1<0)&&(I2<0))&&(I3<0)))
6572 if ((((((((I1_cor/I1)>0.001)||((I2_cor/I2)>0.001))||((I3_cor/I3)>0.001))&&(I1_cor<0))&&(I2_cor<0))&&(I3_cor<0)))
6574 alphaje = (I1_cor/I2_cor);
6575 m0_rev = (((-(
model_.
phitd))*log(alphaje))/(V1-V2));
6577 tt1 = (((
model_.
phitd)*(alphaje-1))*(pow(alphaje,tt0)-1));
6579 tt2 = (((pow(alphaje,tt0)*(V2-V1))+(alphaje*V1))-V2);
6580 mcor_rev = (tt1/tt2);
6581 MREV_s = (m0_rev+mcor_rev);
6747 h2d = (V1+(
vch_d*h2));
6750 h5 = sqrt(((h4*h4)+h1));
6751 vj = (2.0*((V1*
vfmin_d)/(h3+h5)));
6762 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
6766 zinv = (1.0e100*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6769 idmult = (zinv*
zinv);
6774 zinv = sqrt(idmult);
6776 idmult = (idmult-1.0);
6780 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
6784 two_psistar = ((-V1)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
6789 vav = (0.5*((V1)-sqrt((((V1)*(V1))+((4*1E-6)*1E-6)))));
6815 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6822 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
6824 wsrh = (wsrhstep+dwsrh);
6844 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
6845 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6846 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6847 sqrtumax = sqrt(fabs(umax));
6848 umaxpoweronepointfive = (umax*sqrtumax);
6851 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6857 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6858 ktat = sqrt((0.375*(btat/sqrtumax)));
6859 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6861 xerfc = ((ltat-1)*ktat);
6862 ysq = (xerfc*xerfc);
6871 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6873 tmp = exp(((-ysq)+mtat));
6877 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6879 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6882 erfctimesexpmtat = erfcpos;
6886 if ((mtat>(-2.3025850929940458e+02)))
6892 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6894 erfctimesexpmtat = ((2*tmp)-erfcpos);
6896 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
6914 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
6920 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
6922 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
6926 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6947 fbreakdown = (1/(1-tmp));
6954 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6980 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6987 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
6989 wsrh = (wsrhstep+dwsrh);
7009 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
7010 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7011 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7012 sqrtumax = sqrt(fabs(umax));
7013 umaxpoweronepointfive = (umax*sqrtumax);
7016 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7022 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7023 ktat = sqrt((0.375*(btat/sqrtumax)));
7024 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7026 xerfc = ((ltat-1)*ktat);
7027 ysq = (xerfc*xerfc);
7036 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7038 tmp = exp(((-ysq)+mtat));
7042 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7044 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7047 erfctimesexpmtat = erfcpos;
7051 if ((mtat>(-2.3025850929940458e+02)))
7057 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7059 erfctimesexpmtat = ((2*tmp)-erfcpos);
7061 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
7079 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
7085 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
7087 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
7091 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7112 fbreakdown = (1/(1-tmp));
7119 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7145 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7152 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
7154 wsrh = (wsrhstep+dwsrh);
7174 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
7175 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7176 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7177 sqrtumax = sqrt(fabs(umax));
7178 umaxpoweronepointfive = (umax*sqrtumax);
7181 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7187 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7188 ktat = sqrt((0.375*(btat/sqrtumax)));
7189 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7191 xerfc = ((ltat-1)*ktat);
7192 ysq = (xerfc*xerfc);
7201 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7203 tmp = exp(((-ysq)+mtat));
7207 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7209 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7212 erfctimesexpmtat = erfcpos;
7216 if ((mtat>(-2.3025850929940458e+02)))
7222 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7224 erfctimesexpmtat = ((2*tmp)-erfcpos);
7226 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
7244 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
7250 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
7252 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
7256 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7277 fbreakdown = (1/(1-tmp));
7284 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7293 h2d = (V2+(
vch_d*h2));
7296 h5 = sqrt(((h4*h4)+h1));
7297 vj = (2.0*((V2*
vfmin_d)/(h3+h5)));
7308 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
7312 zinv = (1.0e100*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7315 idmult = (zinv*
zinv);
7320 zinv = sqrt(idmult);
7322 idmult = (idmult-1.0);
7326 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
7330 two_psistar = ((-V2)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
7335 vav = (0.5*((V2)-sqrt((((V2)*(V2))+((4*1E-6)*1E-6)))));
7361 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7368 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
7370 wsrh = (wsrhstep+dwsrh);
7390 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
7391 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7392 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7393 sqrtumax = sqrt(fabs(umax));
7394 umaxpoweronepointfive = (umax*sqrtumax);
7397 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7403 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7404 ktat = sqrt((0.375*(btat/sqrtumax)));
7405 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7407 xerfc = ((ltat-1)*ktat);
7408 ysq = (xerfc*xerfc);
7417 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7419 tmp = exp(((-ysq)+mtat));
7423 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7425 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7428 erfctimesexpmtat = erfcpos;
7432 if ((mtat>(-2.3025850929940458e+02)))
7438 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7440 erfctimesexpmtat = ((2*tmp)-erfcpos);
7442 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
7460 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
7466 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
7468 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
7472 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7493 fbreakdown = (1/(1-tmp));
7500 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7526 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7533 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
7535 wsrh = (wsrhstep+dwsrh);
7555 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
7556 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7557 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7558 sqrtumax = sqrt(fabs(umax));
7559 umaxpoweronepointfive = (umax*sqrtumax);
7562 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7568 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7569 ktat = sqrt((0.375*(btat/sqrtumax)));
7570 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7572 xerfc = ((ltat-1)*ktat);
7573 ysq = (xerfc*xerfc);
7582 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7584 tmp = exp(((-ysq)+mtat));
7588 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7590 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7593 erfctimesexpmtat = erfcpos;
7597 if ((mtat>(-2.3025850929940458e+02)))
7603 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7605 erfctimesexpmtat = ((2*tmp)-erfcpos);
7607 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
7625 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
7631 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
7633 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
7637 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7658 fbreakdown = (1/(1-tmp));
7665 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7691 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7698 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
7700 wsrh = (wsrhstep+dwsrh);
7720 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
7721 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7722 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7723 sqrtumax = sqrt(fabs(umax));
7724 umaxpoweronepointfive = (umax*sqrtumax);
7727 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7733 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7734 ktat = sqrt((0.375*(btat/sqrtumax)));
7735 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7737 xerfc = ((ltat-1)*ktat);
7738 ysq = (xerfc*xerfc);
7747 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7749 tmp = exp(((-ysq)+mtat));
7753 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7755 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7758 erfctimesexpmtat = erfcpos;
7762 if ((mtat>(-2.3025850929940458e+02)))
7768 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7770 erfctimesexpmtat = ((2*tmp)-erfcpos);
7772 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
7790 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
7796 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
7798 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
7802 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7823 fbreakdown = (1/(1-tmp));
7830 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7839 h2d = (V3+(
vch_d*h2));
7842 h5 = sqrt(((h4*h4)+h1));
7843 vj = (2.0*((V3*
vfmin_d)/(h3+h5)));
7854 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
7858 zinv = (1.0e100*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7861 idmult = (zinv*
zinv);
7866 zinv = sqrt(idmult);
7868 idmult = (idmult-1.0);
7872 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
7876 two_psistar = ((-V3)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
7881 vav = (0.5*((V3)-sqrt((((V3)*(V3))+((4*1E-6)*1E-6)))));
7907 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7914 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
7916 wsrh = (wsrhstep+dwsrh);
7936 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
7937 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7938 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7939 sqrtumax = sqrt(fabs(umax));
7940 umaxpoweronepointfive = (umax*sqrtumax);
7943 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7949 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7950 ktat = sqrt((0.375*(btat/sqrtumax)));
7951 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7953 xerfc = ((ltat-1)*ktat);
7954 ysq = (xerfc*xerfc);
7963 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7965 tmp = exp(((-ysq)+mtat));
7969 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7971 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7974 erfctimesexpmtat = erfcpos;
7978 if ((mtat>(-2.3025850929940458e+02)))
7984 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7986 erfctimesexpmtat = ((2*tmp)-erfcpos);
7988 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
8006 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
8012 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
8014 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
8018 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8039 fbreakdown = (1/(1-tmp));
8046 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8072 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8079 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
8081 wsrh = (wsrhstep+dwsrh);
8101 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
8102 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8103 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8104 sqrtumax = sqrt(fabs(umax));
8105 umaxpoweronepointfive = (umax*sqrtumax);
8108 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8114 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8115 ktat = sqrt((0.375*(btat/sqrtumax)));
8116 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8118 xerfc = ((ltat-1)*ktat);
8119 ysq = (xerfc*xerfc);
8128 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8130 tmp = exp(((-ysq)+mtat));
8134 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8136 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8139 erfctimesexpmtat = erfcpos;
8143 if ((mtat>(-2.3025850929940458e+02)))
8149 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8151 erfctimesexpmtat = ((2*tmp)-erfcpos);
8153 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
8171 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
8177 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
8179 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
8183 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8204 fbreakdown = (1/(1-tmp));
8211 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8237 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8244 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
8246 wsrh = (wsrhstep+dwsrh);
8266 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
8267 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8268 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8269 sqrtumax = sqrt(fabs(umax));
8270 umaxpoweronepointfive = (umax*sqrtumax);
8273 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8279 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8280 ktat = sqrt((0.375*(btat/sqrtumax)));
8281 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8283 xerfc = ((ltat-1)*ktat);
8284 ysq = (xerfc*xerfc);
8293 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8295 tmp = exp(((-ysq)+mtat));
8299 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8301 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8304 erfctimesexpmtat = erfcpos;
8308 if ((mtat>(-2.3025850929940458e+02)))
8314 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8316 erfctimesexpmtat = ((2*tmp)-erfcpos);
8318 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
8336 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
8342 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
8344 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
8348 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8369 fbreakdown = (1/(1-tmp));
8376 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8385 h2d = (V4+(
vch_d*h2));
8388 h5 = sqrt(((h4*h4)+h1));
8389 vj = (2.0*((V4*
vfmin_d)/(h3+h5)));
8400 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
8404 zinv = (1.0e100*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8407 idmult = (zinv*
zinv);
8412 zinv = sqrt(idmult);
8414 idmult = (idmult-1.0);
8418 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
8422 two_psistar = ((-V4)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
8427 vav = (0.5*((V4)-sqrt((((V4)*(V4))+((4*1E-6)*1E-6)))));
8453 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8460 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
8462 wsrh = (wsrhstep+dwsrh);
8482 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
8483 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8484 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8485 sqrtumax = sqrt(fabs(umax));
8486 umaxpoweronepointfive = (umax*sqrtumax);
8489 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8495 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8496 ktat = sqrt((0.375*(btat/sqrtumax)));
8497 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8499 xerfc = ((ltat-1)*ktat);
8500 ysq = (xerfc*xerfc);
8509 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8511 tmp = exp(((-ysq)+mtat));
8515 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8517 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8520 erfctimesexpmtat = erfcpos;
8524 if ((mtat>(-2.3025850929940458e+02)))
8530 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8532 erfctimesexpmtat = ((2*tmp)-erfcpos);
8534 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
8552 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
8558 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
8560 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
8564 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8585 fbreakdown = (1/(1-tmp));
8592 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8618 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8625 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
8627 wsrh = (wsrhstep+dwsrh);
8647 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
8648 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8649 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8650 sqrtumax = sqrt(fabs(umax));
8651 umaxpoweronepointfive = (umax*sqrtumax);
8654 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8660 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8661 ktat = sqrt((0.375*(btat/sqrtumax)));
8662 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8664 xerfc = ((ltat-1)*ktat);
8665 ysq = (xerfc*xerfc);
8674 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8676 tmp = exp(((-ysq)+mtat));
8680 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8682 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8685 erfctimesexpmtat = erfcpos;
8689 if ((mtat>(-2.3025850929940458e+02)))
8695 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8697 erfctimesexpmtat = ((2*tmp)-erfcpos);
8699 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
8717 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
8723 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
8725 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
8729 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8750 fbreakdown = (1/(1-tmp));
8757 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8783 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8790 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
8792 wsrh = (wsrhstep+dwsrh);
8812 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
8813 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8814 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8815 sqrtumax = sqrt(fabs(umax));
8816 umaxpoweronepointfive = (umax*sqrtumax);
8819 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8825 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8826 ktat = sqrt((0.375*(btat/sqrtumax)));
8827 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8829 xerfc = ((ltat-1)*ktat);
8830 ysq = (xerfc*xerfc);
8839 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8841 tmp = exp(((-ysq)+mtat));
8845 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8847 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8850 erfctimesexpmtat = erfcpos;
8854 if ((mtat>(-2.3025850929940458e+02)))
8860 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8862 erfctimesexpmtat = ((2*tmp)-erfcpos);
8864 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
8882 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
8888 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
8890 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
8894 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8915 fbreakdown = (1/(1-tmp));
8922 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8931 h2d = (V5+(
vch_d*h2));
8934 h5 = sqrt(((h4*h4)+h1));
8935 vj = (2.0*((V5*
vfmin_d)/(h3+h5)));
8946 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
8950 zinv = (1.0e100*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8953 idmult = (zinv*
zinv);
8958 zinv = sqrt(idmult);
8960 idmult = (idmult-1.0);
8964 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
8968 two_psistar = ((-V5)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
8973 vav = (0.5*((V5)-sqrt((((V5)*(V5))+((4*1E-6)*1E-6)))));
8999 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
9006 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
9008 wsrh = (wsrhstep+dwsrh);
9028 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
9029 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
9030 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
9031 sqrtumax = sqrt(fabs(umax));
9032 umaxpoweronepointfive = (umax*sqrtumax);
9035 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
9041 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
9042 ktat = sqrt((0.375*(btat/sqrtumax)));
9043 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
9045 xerfc = ((ltat-1)*ktat);
9046 ysq = (xerfc*xerfc);
9055 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
9057 tmp = exp(((-ysq)+mtat));
9061 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
9063 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
9066 erfctimesexpmtat = erfcpos;
9070 if ((mtat>(-2.3025850929940458e+02)))
9076 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
9078 erfctimesexpmtat = ((2*tmp)-erfcpos);
9080 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
9098 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
9104 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
9106 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
9110 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
9131 fbreakdown = (1/(1-tmp));
9138 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
9164 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
9171 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
9173 wsrh = (wsrhstep+dwsrh);
9193 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
9194 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
9195 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
9196 sqrtumax = sqrt(fabs(umax));
9197 umaxpoweronepointfive = (umax*sqrtumax);
9200 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
9206 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
9207 ktat = sqrt((0.375*(btat/sqrtumax)));
9208 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
9210 xerfc = ((ltat-1)*ktat);
9211 ysq = (xerfc*xerfc);
9220 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
9222 tmp = exp(((-ysq)+mtat));
9226 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
9228 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
9231 erfctimesexpmtat = erfcpos;
9235 if ((mtat>(-2.3025850929940458e+02)))
9241 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
9243 erfctimesexpmtat = ((2*tmp)-erfcpos);
9245 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
9263 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
9269 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
9271 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
9275 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
9296 fbreakdown = (1/(1-tmp));
9303 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
9329 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
9336 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
9338 wsrh = (wsrhstep+dwsrh);
9358 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
9359 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
9360 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
9361 sqrtumax = sqrt(fabs(umax));
9362 umaxpoweronepointfive = (umax*sqrtumax);
9365 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
9371 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
9372 ktat = sqrt((0.375*(btat/sqrtumax)));
9373 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
9375 xerfc = ((ltat-1)*ktat);
9376 ysq = (xerfc*xerfc);
9385 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
9387 tmp = exp(((-ysq)+mtat));
9391 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
9393 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
9396 erfctimesexpmtat = erfcpos;
9400 if ((mtat>(-2.3025850929940458e+02)))
9406 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
9408 erfctimesexpmtat = ((2*tmp)-erfcpos);
9410 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
9428 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
9434 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
9436 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
9440 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
9461 fbreakdown = (1/(1-tmp));
9468 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
9476 if (((I4>0)&&(I5>0)))
9478 if ((((((I4_cor/I4)>0.001)||((I5_cor/I5)>0.001))&&(I4_cor>0))&&(I5_cor>0)))
9480 alphaje = (I4_cor/I5_cor);
9488 if ((((I1<0)&&(I2<0))&&(I3<0)))
9490 if ((((((((I1_cor/I1)>0.001)||((I2_cor/I2)>0.001))||((I3_cor/I3)>0.001))&&(I1_cor<0))&&(I2_cor<0))&&(I3_cor<0)))
9492 alphaje = (I1_cor/I2_cor);
9493 m0_rev = (((-(
model_.
phitd))*log(alphaje))/(V1-V2));
9495 tt1 = (((
model_.
phitd)*(alphaje-1))*(pow(alphaje,tt0)-1));
9497 tt2 = (((pow(alphaje,tt0)*(V2-V1))+(alphaje*V1))-V2);
9498 mcor_rev = (tt1/tt2);
9499 MREV_d = (m0_rev+mcor_rev);
9563 :
DeviceInstance(instance_block, configuration.getInstanceParameters(), factory_block),
9707 vbi_minus_vjsrh(0.0),
9718 exp_VMAX_over_phitd_s(0.0),
9751 exp_VMAX_over_phitd_d(0.0),
9788 f_DI_Equ_SI_Node_Ptr(0),
9789 f_DI_Equ_BP_Node_Ptr(0),
9790 f_BP_Equ_SI_Node_Ptr(0),
9791 f_BP_Equ_BP_Node_Ptr(0),
9792 f_DI_Equ_GP_Node_Ptr(0),
9793 f_BP_Equ_GP_Node_Ptr(0),
9794 f_DI_Equ_DI_Node_Ptr(0),
9795 f_BP_Equ_DI_Node_Ptr(0),
9796 f_SI_Equ_SI_Node_Ptr(0),
9797 f_SI_Equ_BP_Node_Ptr(0),
9798 f_SI_Equ_GP_Node_Ptr(0),
9799 f_SI_Equ_DI_Node_Ptr(0),
9800 f_GP_Equ_SI_Node_Ptr(0),
9801 f_GP_Equ_BP_Node_Ptr(0),
9802 f_GP_Equ_DI_Node_Ptr(0),
9803 f_GP_Equ_GP_Node_Ptr(0),
9804 f_BS_Equ_SI_Node_Ptr(0),
9805 f_BS_Equ_BS_Node_Ptr(0),
9806 f_SI_Equ_BS_Node_Ptr(0),
9807 f_BS_Equ_DI_Node_Ptr(0),
9808 f_BS_Equ_BD_Node_Ptr(0),
9809 f_SI_Equ_BD_Node_Ptr(0),
9810 f_BD_Equ_SI_Node_Ptr(0),
9811 f_BD_Equ_BS_Node_Ptr(0),
9812 f_DI_Equ_BS_Node_Ptr(0),
9813 f_BD_Equ_DI_Node_Ptr(0),
9814 f_BD_Equ_BD_Node_Ptr(0),
9815 f_DI_Equ_BD_Node_Ptr(0),
9816 f_G_Equ_G_Node_Ptr(0),
9817 f_G_Equ_GP_Node_Ptr(0),
9818 f_GP_Equ_G_Node_Ptr(0),
9819 f_S_Equ_S_Node_Ptr(0),
9820 f_S_Equ_SI_Node_Ptr(0),
9821 f_SI_Equ_S_Node_Ptr(0),
9822 f_D_Equ_D_Node_Ptr(0),
9823 f_D_Equ_DI_Node_Ptr(0),
9824 f_DI_Equ_D_Node_Ptr(0),
9825 f_BP_Equ_BI_Node_Ptr(0),
9826 f_BI_Equ_BP_Node_Ptr(0),
9827 f_BI_Equ_BI_Node_Ptr(0),
9828 f_BS_Equ_BI_Node_Ptr(0),
9829 f_BI_Equ_BS_Node_Ptr(0),
9830 f_BD_Equ_BI_Node_Ptr(0),
9831 f_BI_Equ_BD_Node_Ptr(0),
9832 f_B_Equ_B_Node_Ptr(0),
9833 f_B_Equ_BI_Node_Ptr(0),
9834 f_BI_Equ_B_Node_Ptr(0),
9835 q_DI_Equ_SI_Node_Ptr(0),
9836 q_DI_Equ_BP_Node_Ptr(0),
9837 q_BP_Equ_SI_Node_Ptr(0),
9838 q_BP_Equ_BP_Node_Ptr(0),
9839 q_DI_Equ_GP_Node_Ptr(0),
9840 q_BP_Equ_GP_Node_Ptr(0),
9841 q_DI_Equ_DI_Node_Ptr(0),
9842 q_BP_Equ_DI_Node_Ptr(0),
9843 q_SI_Equ_SI_Node_Ptr(0),
9844 q_SI_Equ_BP_Node_Ptr(0),
9845 q_SI_Equ_GP_Node_Ptr(0),
9846 q_SI_Equ_DI_Node_Ptr(0),
9847 q_GP_Equ_SI_Node_Ptr(0),
9848 q_GP_Equ_BP_Node_Ptr(0),
9849 q_GP_Equ_DI_Node_Ptr(0),
9850 q_GP_Equ_GP_Node_Ptr(0),
9851 q_BS_Equ_SI_Node_Ptr(0),
9852 q_BS_Equ_BS_Node_Ptr(0),
9853 q_SI_Equ_BS_Node_Ptr(0),
9854 q_BS_Equ_DI_Node_Ptr(0),
9855 q_BS_Equ_BD_Node_Ptr(0),
9856 q_SI_Equ_BD_Node_Ptr(0),
9857 q_BD_Equ_SI_Node_Ptr(0),
9858 q_BD_Equ_BS_Node_Ptr(0),
9859 q_DI_Equ_BS_Node_Ptr(0),
9860 q_BD_Equ_DI_Node_Ptr(0),
9861 q_BD_Equ_BD_Node_Ptr(0),
9862 q_DI_Equ_BD_Node_Ptr(0),
9863 q_G_Equ_G_Node_Ptr(0),
9864 q_G_Equ_GP_Node_Ptr(0),
9865 q_GP_Equ_G_Node_Ptr(0),
9866 q_S_Equ_S_Node_Ptr(0),
9867 q_S_Equ_SI_Node_Ptr(0),
9868 q_SI_Equ_S_Node_Ptr(0),
9869 q_D_Equ_D_Node_Ptr(0),
9870 q_D_Equ_DI_Node_Ptr(0),
9871 q_DI_Equ_D_Node_Ptr(0),
9872 q_BP_Equ_BI_Node_Ptr(0),
9873 q_BI_Equ_BP_Node_Ptr(0),
9874 q_BI_Equ_BI_Node_Ptr(0),
9875 q_BS_Equ_BI_Node_Ptr(0),
9876 q_BI_Equ_BS_Node_Ptr(0),
9877 q_BD_Equ_BI_Node_Ptr(0),
9878 q_BI_Equ_BD_Node_Ptr(0),
9879 q_B_Equ_B_Node_Ptr(0),
9880 q_B_Equ_BI_Node_Ptr(0),
9881 q_BI_Equ_B_Node_Ptr(0),
9882 admsTemperature(getDeviceOptions().temp.getImmutableValue<double>())
9968 for (
int i=0;i<mapSize;++i)
9973 for (
int j=0;j<rowSize;++j)
9996 if (!
given(
"XYCEADMSINSTTEMP"))
10026 if (!((
RSE_i>0.0)))
10033 if (!((
RDE_i>0.0)))
10074 std::vector< std::vector<int> > tempStamp;
10075 std::vector<int> tempMap;
10076 std::vector< std::vector<int> > tempMap2;
10078 int OriginalSize =
jacMap.size();
10088 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10090 tempStamp, tempMap, tempMap2,
10099 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10101 tempStamp, tempMap, tempMap2,
10110 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10112 tempStamp, tempMap, tempMap2,
10121 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10123 tempStamp, tempMap, tempMap2,
10132 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10134 tempStamp, tempMap, tempMap2,
10143 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10145 tempStamp, tempMap, tempMap2,
10154 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10156 tempStamp, tempMap, tempMap2,
10186 const std::vector<int> & extLIDVecRef)
10191 #ifdef Xyce_DEBUG_DEVICE
10195 Xyce::dout() << std::endl << section_divider << std::endl;
10196 Xyce::dout() <<
"In ADMSPSP103VA::Instance::register LIDs\n\n";
10197 Xyce::dout() <<
"name = " <<
getName() << std::endl;
10198 Xyce::dout() <<
"number of internal variables: " <<
numIntVars << std::endl;
10199 Xyce::dout() <<
"number of external variables: " <<
numExtVars << std::endl;
10210 li_D = extLIDVecRef[i++];
10211 li_G = extLIDVecRef[i++];
10212 li_S = extLIDVecRef[i++];
10213 li_B = extLIDVecRef[i++];
10218 li_GP = intLIDVecRef[i++];
10222 li_SI = intLIDVecRef[i++];
10226 li_DI = intLIDVecRef[i++];
10230 li_BI = intLIDVecRef[i++];
10234 li_BP = intLIDVecRef[i++];
10238 li_BS = intLIDVecRef[i++];
10242 li_BD = intLIDVecRef[i++];
10247 #ifdef Xyce_DEBUG_DEVICE
10250 Xyce::dout() <<
"\nSolution and RHS variables:\n";
10251 Xyce::dout() <<
"\nli_D = " <<
li_D << std::endl;
10252 Xyce::dout() <<
"\nli_G = " <<
li_G << std::endl;
10253 Xyce::dout() <<
"\nli_S = " <<
li_S << std::endl;
10254 Xyce::dout() <<
"\nli_B = " <<
li_B << std::endl;
10255 Xyce::dout() <<
"\nli_GP = " <<
li_GP << std::endl;
10256 Xyce::dout() <<
"\nli_SI = " <<
li_SI << std::endl;
10257 Xyce::dout() <<
"\nli_DI = " <<
li_DI << std::endl;
10258 Xyce::dout() <<
"\nli_BI = " <<
li_BI << std::endl;
10259 Xyce::dout() <<
"\nli_BP = " <<
li_BP << std::endl;
10260 Xyce::dout() <<
"\nli_BS = " <<
li_BS << std::endl;
10261 Xyce::dout() <<
"\nli_BD = " <<
li_BD << std::endl;
10265 #ifdef Xyce_DEBUG_DEVICE
10268 Xyce::dout() <<
"\nEnd of ADMSPSP103VA::Instance::register LIDs\n";
10269 Xyce::dout() << section_divider << std::endl;
10287 std::string tmpstr;
10380 std::vector<int> & map=
jacMap;
10381 std::vector< std::vector<int> > & map2=
jacMap2;
10514 bool bsuccess=
true;
10569 bool bsuccess =
true;
10590 bool bsuccess =
true;
10609 bool bsuccess=
true;
10612 #ifdef Xyce_DEBUG_DEVICE
10615 Xyce::dout() << std::endl << subsection_divider << std::endl;
10616 Xyce::dout() <<
" In ADMSPSP103VA::Instance::updateIntermediateVars\n\n";
10617 Xyce::dout() <<
" name = " <<
getName() << std::endl;
10633 double rsourcenoise;
10634 double rdrainnoise;
10843 for (
int i=0; i < 11+0 ; ++i)
10922 VdbPrime = (Vds+Vsb);
10923 VgdPrime = (Vgs-Vds);
10936 Vdsx = (sqrt(((Vds*Vds)+0.01))-0.1);
11106 temp = ((0.5*((Vdb+Vsb)-sqrt((((Vdb-Vsb)*(Vdb-Vsb))+
bphi_dc))))+
phix_dc);
11107 Vsbstar_dc = ((Vsb-(0.5*((temp)-sqrt((((temp)*(temp))+
aphi_dc)))))+
phix1_dc);
11110 Vmb = (Vsbstar_dc+(0.5*(Vds-Vdsx)));
11112 temp = (((2*(us-
us1))/
us21)-1);
11113 usnew = (us-(((0.25*(1-
GFACNUD_i))*
us21)*(temp+sqrt(((temp*temp)+0.4804530139182)))));
11115 Vsbnud = (Vmbnew-(0.5*(Vds-Vdsx)));
11119 Vsbnud = Vsbstar_dc;
11147 Vdbstar = (Vds+Vsbstar);
11148 Vgbstar = (Vgs+Vsbstar);
11149 Vgb1 = (Vgbstar-
VFB_i);
11150 Vsbx = (Vsbstar+(0.5*(Vds-Vdsx)));
11151 delVg = (
CF_i*(Vdsx*(1+(
CFB_i*Vsbx))));
11152 Vgb1 = (Vgb1+delVg);
11157 Gf = (G_0*sqrt((1.0+Dnsub)));
11164 inv_Gf2 = (1.0/Gf2);
11165 xi = (1.0+(Gf*7.0710678118654746e-01));
11169 if ((xn_s<4.6051701859880916e+02))
11171 delta_ns = exp((-xn_s));
11175 delta_ns = (1.0e-200/(1.0+((xn_s-4.6051701859880916e+02)*(1.0+(0.5*((xn_s-4.6051701859880916e+02)*(1.0+((xn_s-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
11177 margin = (1e-5*xi);
11178 if ((fabs(xg)<=margin))
11180 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
11181 x_s = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_ns))*Gf)*SP_S_temp1)));
11185 if ((xg<(-margin)))
11188 SP_S_ysub = (1.25*(SP_S_yg*inv_xi));
11189 SP_S_eta = (0.5*((SP_S_ysub+10)-sqrt((((SP_S_ysub-6.0)*(SP_S_ysub-6.0))+64.0))));
11190 SP_S_temp = (SP_S_yg-SP_S_eta);
11191 SP_S_a = ((SP_S_temp*SP_S_temp)+(Gf2*(SP_S_eta+1.0)));
11192 SP_S_c = ((2.0*SP_S_temp)-Gf2);
11193 SP_S_tau = ((-SP_S_eta)+log((SP_S_a*inv_Gf2)));
11194 nu = (SP_S_a+SP_S_c);
11195 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-SP_S_a)));
11196 SP_S_y0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-SP_S_a)))));
11197 if ((SP_S_y0<2.3025850929940458e+02))
11199 SP_S_delta0 = exp(SP_S_y0);
11203 SP_S_delta0 = (1.0e100*(1.0+((SP_S_y0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_y0-2.3025850929940458e+02)*(1.0+((SP_S_y0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11205 SP_S_delta1 = (1.0/SP_S_delta0);
11206 SP_S_temp = (1.0/(2.0+(SP_S_y0*SP_S_y0)));
11207 SP_S_xi0 = ((SP_S_y0*SP_S_y0)*SP_S_temp);
11208 SP_S_xi1 = (4.0*((SP_S_y0*SP_S_temp)*SP_S_temp));
11209 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
11210 SP_S_temp = (SP_S_yg-SP_S_y0);
11211 SP_S_temp1 = (delta_ns*SP_S_delta1);
11212 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((SP_S_delta0-1.0)-SP_S_temp1)+(delta_ns*(1.0-SP_S_xi1)))));
11213 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta0-SP_S_y0)-1.0)+SP_S_temp1)+(delta_ns*((SP_S_y0-1.0)-SP_S_xi0)))));
11214 SP_S_temp = (2.0-(Gf2*((SP_S_delta0+SP_S_temp1)-(delta_ns*SP_S_xi2))));
11215 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
11216 x_s = ((-SP_S_y0)-(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
11220 SP_xg1 = (1.0/(
x1+(Gf*7.324648775608221e-001)));
11221 SP_S_A_fac = ((((xi*
x1)*SP_xg1)-1.0)*SP_xg1);
11222 SP_S_xbar = ((xg*inv_xi)*(1.0+(SP_S_A_fac*xg)));
11223 if (((-SP_S_xbar)>(-2.3025850929940458e+02)))
11225 SP_S_temp = exp((-SP_S_xbar));
11229 SP_S_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*3.3333333333333333e-01))))))));
11231 SP_S_w = (1.0-SP_S_temp);
11232 SP_S_x1 = ((xg+(Gf2*0.5))-(Gf*sqrt(((xg+(Gf2*0.25))-SP_S_w))));
11233 SP_S_bx = (xn_s+3.0);
11234 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
11235 SP_S_temp = (xg-SP_S_eta);
11236 SP_S_temp1 = exp((-SP_S_eta));
11237 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
11238 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
11239 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
11240 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
11241 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_ns*((SP_S_eta+1.0)+SP_S_xi0))))));
11242 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_ns*SP_S_xi2)))));
11243 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_ns*(1.0+SP_S_xi1)))));
11244 SP_S_tau = ((xn_s-SP_S_eta)+log((SP_S_a/Gf2)));
11245 nu = (SP_S_a+SP_S_c);
11246 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
11247 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
11248 if ((SP_S_x0<2.3025850929940458e+02))
11250 SP_S_delta0 = exp(SP_S_x0);
11251 SP_S_delta1 = (1.0/SP_S_delta0);
11252 SP_S_delta0 = (delta_ns*SP_S_delta0);
11256 if ((SP_S_x0>(xn_s-2.3025850929940458e+02)))
11258 SP_S_delta0 = exp((SP_S_x0-xn_s));
11259 SP_S_delta1 = (delta_ns/SP_S_delta0);
11263 SP_S_delta0 = (1.0e-100/(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11264 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11267 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
11268 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
11269 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
11270 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
11271 SP_S_temp = (xg-SP_S_x0);
11272 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_ns*(1.0+SP_S_xi1)))));
11273 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_ns*((SP_S_x0+1.0)+SP_S_xi0)))));
11274 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_ns*SP_S_xi2))));
11275 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
11276 x_s = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
11286 Voxm = (xgm*
phit1);
11293 temp = (1.0/(2.0+(x_s*x_s)));
11294 xi0s = ((x_s*x_s)*temp);
11295 xi1s = (4.0*((x_s*temp)*temp));
11296 xi2s = ((((8.0*temp)-(12.0*xi0s))*temp)*temp);
11297 if ((x_s<2.3025850929940458e+02))
11299 delta_1s = exp(x_s);
11300 Es = (1.0/delta_1s);
11301 delta_1s = (delta_ns*delta_1s);
11305 if ((x_s>(xn_s-2.3025850929940458e+02)))
11307 delta_1s = exp((x_s-xn_s));
11308 Es = (delta_ns/delta_1s);
11312 delta_1s = (1.0e-100/(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11313 Es = (1.0e-100/(1.0+((x_s-2.3025850929940458e+02)*(1.0+(0.5*((x_s-2.3025850929940458e+02)*(1.0+((x_s-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11316 Ds = (delta_1s-(delta_ns*((x_s+1.0)+xi0s)));
11319 Ps = (0.5*((x_s*x_s)*(1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s)))))));
11320 Ds = (1.6666666666666667e-01*((((delta_ns*x_s)*x_s)*x_s)*(1.0+(1.75*x_s))));
11321 temp = sqrt((1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s))))));
11322 sqm = (7.0710678118654746e-01*(x_s*temp));
11323 alpha = (1.0+(((Gf*7.0710678118654746e-01)*((1.0-(0.5*x_s))+(1.6666666666666667e-01*(x_s*x_s))))/temp));
11327 Ps = ((x_s-1.0)+Es);
11329 alpha = (1.0+(0.5*((Gf*(1.0-Es))/sqm)));
11335 Rxcor = ((1.0+((0.2*
XCOR_i)*Vsbx))/(1.0+(
XCOR_i*Vsbx)));
11338 xgs = (Gf*sqrt((Ps+Ds)));
11339 qis = (((Gf2*Ds)*
phit1)/(xgs+(Gf*sqm)));
11340 qbs = ((sqm*Gf)*
phit1);
11343 rhob = (1.0/(1.0-(
RSB_i*Vsbx)));
11347 rhob = (1.0+(
RSB_i*Vsbx));
11351 temp = (1.0-(
RSG_i*qis));
11355 temp = (1.0/(1.0+(
RSG_i*qis)));
11357 GR = (
THER_i*((rhob*temp)*qis));
11359 if (((Eeffm*
MUE_i)!=0))
11361 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Ps/((Ps+Ds)+1.0e-14))));
11365 Mutmp = (
CS_i*(Ps/((Ps+Ds)+1.0e-14)));
11367 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
11376 temp2 = (qis*xitsb);
11377 wsat = (100.0*(temp2/(100.0+temp2)));
11387 phi_inf = ((qis/alpha)+
phit1);
11388 ysat = ((thesat1*phi_inf)*7.0710678118654746e-01);
11391 ysat = (ysat/sqrt((1.0+ysat)));
11393 za = (2.0/(1.0+sqrt((1.0+(4.0*ysat)))));
11395 Phi_0 = ((phi_inf*za)*(1.0+(0.86*((temp1*(1.0-(temp1*za)))/(1.0+(4.0*((temp1*temp1)*za)))))));
11396 asat = (xgs+(0.5*Gf2));
11397 Phi_2 = (0.98*(((Gf2*Ds)*
phit1)/(asat+sqrt(((asat*asat)-((Gf2*Ds)*0.98))))));
11398 Phi_0_2 = (Phi_0+Phi_2);
11399 Phi0_Phi2 = (2.0*(Phi_0*Phi_2));
11400 Phi_sat = (Phi0_Phi2/(Phi_0_2+sqrt(((Phi_0_2*Phi_0_2)-(1.98*Phi0_Phi2)))));
11401 Vdsat = (Phi_sat-(
phit1*log((1.0+(((Phi_sat*(Phi_sat-((2.0*asat)*
phit1)))*inv_Gf2)/((phit1*phit1)*Ds))))));
11407 if (((Vds/Vdsat)!=0))
11409 temp = pow((Vds/Vdsat),
AX_i);
11415 Vdse = (Vds*pow((1.0+temp),(-
inv_AX)));
11417 xn_d = (xn_s+Udse);
11418 if ((Udse<4.6051701859880916e+02))
11420 k_ds = exp((-Udse));
11424 k_ds = (1.0e-200/(1.0+((Udse-4.6051701859880916e+02)*(1.0+(0.5*((Udse-4.6051701859880916e+02)*(1.0+((Udse-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
11426 delta_nd = (delta_ns*k_ds);
11427 if ((fabs(xg)<=margin))
11429 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
11430 x_d = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_nd))*Gf)*SP_S_temp1)));
11434 SP_S_bx = (xn_d+3);
11435 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
11436 SP_S_temp = (xg-SP_S_eta);
11437 SP_S_temp1 = exp((-SP_S_eta));
11438 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
11439 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
11440 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
11441 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
11442 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_nd*((SP_S_eta+1.0)+SP_S_xi0))))));
11443 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_nd*SP_S_xi2)))));
11444 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_nd*(1.0+SP_S_xi1)))));
11445 SP_S_tau = ((xn_d-SP_S_eta)+log((SP_S_a/Gf2)));
11446 nu = (SP_S_a+SP_S_c);
11447 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
11448 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
11449 if ((SP_S_x0<2.3025850929940458e+02))
11451 SP_S_delta0 = exp(SP_S_x0);
11452 SP_S_delta1 = (1.0/SP_S_delta0);
11453 SP_S_delta0 = (delta_nd*SP_S_delta0);
11457 if ((SP_S_x0>(xn_d-2.3025850929940458e+02)))
11459 SP_S_delta0 = exp((SP_S_x0-xn_d));
11460 SP_S_delta1 = (delta_nd/SP_S_delta0);
11464 SP_S_delta0 = (1.0e-100/(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11465 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11468 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
11469 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
11470 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
11471 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
11472 SP_S_temp = (xg-SP_S_x0);
11473 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_nd*(1.0+SP_S_xi1)))));
11474 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_nd*((SP_S_x0+1.0)+SP_S_xi0)))));
11475 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_nd*SP_S_xi2))));
11476 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
11477 x_d = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
11480 if ((x_ds<1.0E-10))
11482 pC = ((2.0*(xg-x_s))+(Gf2*(((1.0-Es)+(delta_1s*k_ds))-(delta_nd*(1.0+xi1s)))));
11483 qC = ((Gf2*(1.0-k_ds))*Ds);
11484 temp = (2.0-(Gf2*((Es+(delta_1s*k_ds))-(delta_nd*xi2s))));
11485 temp = ((pC*pC)-(2.0*(temp*qC)));
11486 x_ds = (2.0*(qC/(pC+sqrt(temp))));
11489 dps = (x_ds*
phit1);
11490 xi0d = ((x_d*x_d)/(2.0+(x_d*x_d)));
11491 if ((x_d<2.3025850929940458e+02))
11496 Dd = (((((1.6666666666666667e-01*delta_nd)*x_d)*x_d)*x_d)*(1.0+(1.75*x_d)));
11500 Dd = (delta_nd*((((1.0/Ed)-x_d)-1.0)-xi0d));
11505 if ((x_d>(xn_d-2.3025850929940458e+02)))
11507 temp = exp((x_d-xn_d));
11508 Ed = (delta_nd/temp);
11509 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
11513 Ed = (1.0e-100/(1.0+((x_d-2.3025850929940458e+02)*(1.0+(0.5*((x_d-2.3025850929940458e+02)*(1.0+((x_d-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11514 temp = (1.0e-100/(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11515 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
11518 x_m = (0.5*(x_s+x_d));
11525 D_bar = (0.5*(Ds+Dd));
11526 Dm = (D_bar+(0.125*((x_ds*x_ds)*(Em-(2.0*inv_Gf2)))));
11529 Pm = (0.5*((x_m*x_m)*(1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m)))))));
11530 xgm = (Gf*sqrt((Dm+Pm)));
11533 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
11535 temp = sqrt((1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m))))));
11536 sqm = (7.0710678118654746e-01*(x_m*temp));
11537 alpha = (eta_p+(7.0710678118654746e-01*((Gf*((1.0-(0.5*x_m))+(1.6666666666666667e-01*(x_m*x_m))))/temp)));
11541 Pm = ((x_m-1.0)+Em);
11542 xgm = (Gf*sqrt((Dm+Pm)));
11545 d0 = ((1.0-Em)+(2.0*(xgm*inv_Gf2)));
11546 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
11547 temp = (eta_p/(eta_p+1.0));
11548 x_pm = (
kp*(((temp*temp)*Gf2)*Dm));
11549 p_pd = ((2.0*(xgm-x_pm))+(Gf2*((1.0-Em)+Dm)));
11550 q_pd = (x_pm*(x_pm-(2.0*xgm)));
11551 xi_pd = (1.0-(0.5*(Gf2*(Em+Dm))));
11552 u_pd = ((q_pd*p_pd)/((p_pd*p_pd)-(xi_pd*q_pd)));
11557 Pm = ((x_m-1.0)+Em);
11558 xgm = (Gf*sqrt((Dm+Pm)));
11559 help = ((1.0-Em)+(2.0*((xgm*eta_p)*inv_Gf2)));
11560 x_ds = (((x_ds*km)*(d0+D_bar))/(help+(km*D_bar)));
11561 dps = (x_ds*
phit1);
11564 alpha = (eta_p+(0.5*((Gf*(1.0-Em))/sqm)));
11566 qim = (
phit1*((Gf2*Dm)/(xgm+(Gf*sqm))));
11567 qim1 = (qim+(
phit1*alpha));
11568 qbm = ((sqm*Gf)*
phit1);
11571 temp = (1.0-(
RSG_i*qim));
11575 temp = (1.0/(1.0+(
RSG_i*qim)));
11577 GR = (
THER_i*((rhob*temp)*qim));
11578 qeff = (qbm+(
eta_mu*qim));
11581 if (((Eeffm*
MUE_i)!=0))
11583 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Pm/((Pm+Dm)+1.0e-14))));
11587 Mutmp = (
CS_i*(Pm/((Pm+Dm)+1.0e-14)));
11589 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
11590 s1 = log(((1.0+((Vds-dps)*
inv_VP))/(1.0+((Vdse-dps)*inv_VP))));
11592 GdL = (1.0/((1.0+dL)+(dL*dL)));
11593 temp2 = (qim*xitsb);
11594 wsat = (100.0*(temp2/(100.0+temp2)));
11595 Gmob_dL = (Gmob*GdL);
11604 thesat1 = (
THESAT_i*(temp/Gmob_dL));
11605 zsat = (((thesat1*thesat1)*dps)*dps);
11608 zsat = (zsat/(1.0+(thesat1*dps)));
11610 Gvsat = (0.5*(Gmob_dL*(1.0+sqrt((1.0+(2.0*zsat))))));
11611 Gvsatinv = (1.0/Gvsat);
11612 Voxm = (xgm*
phit1);
11613 temp = (Gmob_dL*Gvsatinv);
11614 alpha1 = (alpha*(1.0+(0.5*((zsat*temp)*temp))));
11615 H = ((temp*qim1)/alpha1);
11619 qim1_1 = (1.0/qim1);
11621 r2 = (
phit1*(alpha*qim1_1));
11622 s2 = log((1.0+(Vdsx*
inv_VP)));
11623 dL1 = ((dL+(
ALP1_i*((qim1_1*r1)*s1)))+(
ALP2_i*(((qbm*r2)*r2)*s2)));
11624 FdL = (((1.0+dL1)+(dL1*dL1))*GdL);
11638 Gvsatinv_dc = Gvsatinv;
11639 Gmob_dL_dc = Gmob_dL;
11653 Ids = (
BET_i*(((FdL_dc*qim1_dc)*dps_dc)*Gvsatinv_dc));
11656 delVsat = (Vds-(
A3_i*dps_dc));
11660 if (((-temp2)>(-2.3025850929940458e+02)))
11662 temp = exp((-temp2));
11666 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-temp2))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-temp2))*(1.0+(((-2.3025850929940458e+02)-(-temp2))*3.3333333333333333e-01))))))));
11668 mavl = (
A1_i*(delVsat*temp));
11669 Iimpact = (Ids*mavl);
11681 if ((fabs(xgs_ov)<=x_mrg_ov))
11683 xs_ov = ((-xgs_ov)*inv_xi_ov);
11687 if ((xgs_ov<(-x_mrg_ov)))
11689 SP_OV_yg = (-xgs_ov);
11690 SP_OV_z = ((
x1*SP_OV_yg)*inv_xi_ov);
11691 SP_OV_eta = (0.5*((SP_OV_z+10.0)-sqrt((((SP_OV_z-6.0)*(SP_OV_z-6.0))+64.0))));
11692 SP_OV_a = (((SP_OV_yg-SP_OV_eta)*(SP_OV_yg-SP_OV_eta))+(GOV2*(SP_OV_eta+1.0)));
11693 SP_OV_c = ((2.0*(SP_OV_yg-SP_OV_eta))-GOV2);
11694 SP_OV_tau = (log((SP_OV_a/GOV2))-SP_OV_eta);
11695 nu = (SP_OV_a+SP_OV_c);
11696 mutau = ((nu*nu)+(SP_OV_tau*((0.5*(SP_OV_c*SP_OV_c))-SP_OV_a)));
11697 SP_OV_y0 = (SP_OV_eta+(((SP_OV_a*nu)*SP_OV_tau)/(mutau+(((((nu/mutau)*SP_OV_tau)*SP_OV_tau)*SP_OV_c)*(((SP_OV_c*SP_OV_c)*3.3333333333333333e-01)-SP_OV_a)))));
11698 SP_OV_D0 = exp(SP_OV_y0);
11699 SP_OV_temp = (SP_OV_yg-SP_OV_y0);
11700 SP_OV_p = ((2.0*SP_OV_temp)+(GOV2*(SP_OV_D0-1.0)));
11701 SP_OV_q = ((SP_OV_temp*SP_OV_temp)+(GOV2*((SP_OV_y0+1.0)-SP_OV_D0)));
11702 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11703 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11704 SP_OV_w = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11705 xs_ov = (-(SP_OV_y0+SP_OV_w));
11709 SP_OV_Afac = ((((xi_ov*
x1)*inv_xg1)-1.0)*inv_xg1);
11710 SP_OV_xbar = ((xgs_ov*inv_xi_ov)*(1.0+(SP_OV_Afac*xgs_ov)));
11711 if (((-SP_OV_xbar)>(-2.3025850929940458e+02)))
11713 SP_OV_temp = exp((-SP_OV_xbar));
11717 SP_OV_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*3.3333333333333333e-01))))))));
11719 SP_OV_w = (1.0-SP_OV_temp);
11720 SP_OV_x0 = ((xgs_ov+(GOV2*0.5))-(GOV*sqrt(((xgs_ov+(GOV2*0.25))-SP_OV_w))));
11721 if (((-SP_OV_x0)>(-2.3025850929940458e+02)))
11723 SP_OV_D0 = exp((-SP_OV_x0));
11727 SP_OV_D0 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*3.3333333333333333e-01))))))));
11729 SP_OV_p = ((2.0*(xgs_ov-SP_OV_x0))+(GOV2*(1-SP_OV_D0)));
11730 SP_OV_q = (((xgs_ov-SP_OV_x0)*(xgs_ov-SP_OV_x0))-(GOV2*((SP_OV_x0-1.0)+SP_OV_D0)));
11731 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11732 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11733 SP_OV_u = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11734 xs_ov = (SP_OV_x0+SP_OV_u);
11744 if ((fabs(xgd_ov)<=x_mrg_ov))
11746 xd_ov = ((-xgd_ov)*inv_xi_ov);
11750 if ((xgd_ov<(-x_mrg_ov)))
11752 SP_OV_yg = (-xgd_ov);
11753 SP_OV_z = ((
x1*SP_OV_yg)*inv_xi_ov);
11754 SP_OV_eta = (0.5*((SP_OV_z+10.0)-sqrt((((SP_OV_z-6.0)*(SP_OV_z-6.0))+64.0))));
11755 SP_OV_a = (((SP_OV_yg-SP_OV_eta)*(SP_OV_yg-SP_OV_eta))+(GOV2*(SP_OV_eta+1.0)));
11756 SP_OV_c = ((2.0*(SP_OV_yg-SP_OV_eta))-GOV2);
11757 SP_OV_tau = (log((SP_OV_a/GOV2))-SP_OV_eta);
11758 nu = (SP_OV_a+SP_OV_c);
11759 mutau = ((nu*nu)+(SP_OV_tau*((0.5*(SP_OV_c*SP_OV_c))-SP_OV_a)));
11760 SP_OV_y0 = (SP_OV_eta+(((SP_OV_a*nu)*SP_OV_tau)/(mutau+(((((nu/mutau)*SP_OV_tau)*SP_OV_tau)*SP_OV_c)*(((SP_OV_c*SP_OV_c)*3.3333333333333333e-01)-SP_OV_a)))));
11761 SP_OV_D0 = exp(SP_OV_y0);
11762 SP_OV_temp = (SP_OV_yg-SP_OV_y0);
11763 SP_OV_p = ((2.0*SP_OV_temp)+(GOV2*(SP_OV_D0-1.0)));
11764 SP_OV_q = ((SP_OV_temp*SP_OV_temp)+(GOV2*((SP_OV_y0+1.0)-SP_OV_D0)));
11765 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11766 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11767 SP_OV_w = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11768 xd_ov = (-(SP_OV_y0+SP_OV_w));
11772 SP_OV_Afac = ((((xi_ov*
x1)*inv_xg1)-1.0)*inv_xg1);
11773 SP_OV_xbar = ((xgd_ov*inv_xi_ov)*(1.0+(SP_OV_Afac*xgd_ov)));
11774 if (((-SP_OV_xbar)>(-2.3025850929940458e+02)))
11776 SP_OV_temp = exp((-SP_OV_xbar));
11780 SP_OV_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*3.3333333333333333e-01))))))));
11782 SP_OV_w = (1.0-SP_OV_temp);
11783 SP_OV_x0 = ((xgd_ov+(GOV2*0.5))-(GOV*sqrt(((xgd_ov+(GOV2*0.25))-SP_OV_w))));
11784 if (((-SP_OV_x0)>(-2.3025850929940458e+02)))
11786 SP_OV_D0 = exp((-SP_OV_x0));
11790 SP_OV_D0 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*3.3333333333333333e-01))))))));
11792 SP_OV_p = ((2.0*(xgd_ov-SP_OV_x0))+(GOV2*(1-SP_OV_D0)));
11793 SP_OV_q = (((xgd_ov-SP_OV_x0)*(xgd_ov-SP_OV_x0))-(GOV2*((SP_OV_x0-1.0)+SP_OV_D0)));
11794 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11795 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11796 SP_OV_u = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11797 xd_ov = (SP_OV_x0+SP_OV_u);
11814 arg2mina = (Vovs+
Dov);
11815 psi_t = (0.5*((+arg2mina)-sqrt((((-arg2mina)*(-arg2mina))+0.01))));
11816 zg = (sqrt(((Vovs*Vovs)+1.0e-6))*
inv_CHIB);
11819 zg = (0.5*((zg+
GCQ)-sqrt((((zg-
GCQ)*(zg-
GCQ))+1.0e-6))));
11822 if ((fabs(arg1)<2.3025850929940458e+02))
11828 if ((arg1<(-2.3025850929940458e+02)))
11830 Dsi = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11834 Dsi = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11838 if ((fabs(arg1)<2.3025850929940458e+02))
11844 if ((arg1<(-2.3025850929940458e+02)))
11846 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11850 temp = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11853 Dgate = (Dsi*temp);
11857 TP = (1.0+(temp*(1.0+(0.5*(temp*(1.0+(temp*3.3333333333333333e-01)))))));
11861 if ((temp>(-2.3025850929940458e+02)))
11867 TP = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
11870 Igsov = (
IGOV_i*(TP*log(((1.0+Dsi)/(1.0+Dgate)))));
11874 arg2mina = (Vovd+
Dov);
11875 psi_t = (0.5*((+arg2mina)-sqrt((((-arg2mina)*(-arg2mina))+0.01))));
11876 zg = (sqrt(((Vovd*Vovd)+1.0e-6))*
inv_CHIB);
11879 zg = (0.5*((zg+
GCQ)-sqrt((((zg-
GCQ)*(zg-
GCQ))+1.0e-6))));
11882 if ((fabs(arg1)<2.3025850929940458e+02))
11888 if ((arg1<(-2.3025850929940458e+02)))
11890 Dsi = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11894 Dsi = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11898 if ((fabs(arg1)<2.3025850929940458e+02))
11904 if ((arg1<(-2.3025850929940458e+02)))
11906 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11910 temp = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11913 Dgate = (Dsi*temp);
11917 TP = (1.0+(temp*(1.0+(0.5*(temp*(1.0+(temp*3.3333333333333333e-01)))))));
11921 if ((temp>(-2.3025850929940458e+02)))
11927 TP = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
11930 Igdov = (
IGOVD_i*(TP*log(((1.0+Dsi)/(1.0+Dgate)))));
11939 if (((x_ds_dc-Udse_dc)>(-2.3025850929940458e+02)))
11941 temp = exp((x_ds_dc-Udse_dc));
11945 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(x_ds_dc-Udse_dc))*(1.0+(0.5*(((-2.3025850929940458e+02)-(x_ds_dc-Udse_dc))*(1.0+(((-2.3025850929940458e+02)-(x_ds_dc-Udse_dc))*3.3333333333333333e-01))))))));
11947 Vm = (Vsbnud+(
phit1*((0.5*x_ds_dc)-log((0.5*(1.0+temp))))));
11948 arg2mina = (Voxm_dc+
Dch);
11949 psi_t = (0.5*((+arg2mina)-sqrt((((-arg2mina)*(-arg2mina))+0.01))));
11950 zg = (sqrt(((Voxm_dc*Voxm_dc)+1.0e-6))*
inv_CHIB);
11953 zg = (0.5*((zg+
GCQ)-sqrt((((zg-
GCQ)*(zg-
GCQ))+1.0e-06))));
11956 if ((fabs(arg1)<2.3025850929940458e+02))
11962 if ((arg1<(-2.3025850929940458e+02)))
11964 Dsi = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11968 Dsi = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11971 arg1 = ((-((Vgs+Vsbnud)-Vm))*
inv_phit1);
11972 if ((fabs(arg1)<2.3025850929940458e+02))
11978 if ((arg1<(-2.3025850929940458e+02)))
11980 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11984 temp = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11987 Dgate = (Dsi*temp);
11991 TP = (1.0+(temp*(1.0+(0.5*(temp*(1.0+(temp*3.3333333333333333e-01)))))));
11995 if ((temp>(-2.3025850929940458e+02)))
12001 TP = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
12004 Igc0 = (
IGINV_i*(TP*log(((1.0+Dsi)/(1.0+Dgate)))));
12014 x = (0.5*(dps_dc/u0));
12015 u0_div_H = (u0/H_dc);
12016 Bg = ((u0_div_H*(1.0-u0_div_H))*0.5);
12017 Ag = (0.5-(3.0*Bg));
12021 igc = (1.0+(xsq*((1.6666666666666667e-01+(u0_div_H*3.3333333333333333e-01))+(1.6666666666666667e-01*(xsq*(0.05+(0.2*u0_div_H)))))));
12022 igcd_h = ((0.5*igc)-(1.6666666666666667e-01*(x*(1.0+(xsq*((0.4*(Bg+0.25))+(0.0285714285714*(xsq*(0.125+Bg)))))))));
12027 if ((fabs(x)<2.3025850929940458e+02))
12033 if ((x<(-2.3025850929940458e+02)))
12035 ex = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-x)*(1.0+(0.5*(((-2.3025850929940458e+02)-x)*(1.0+(((-2.3025850929940458e+02)-x)*3.3333333333333333e-01))))))));
12039 ex = (1.0e100*(1.0+((x-2.3025850929940458e+02)*(1.0+(0.5*((x-2.3025850929940458e+02)*(1.0+((x-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12043 temp = (ex-inv_ex);
12044 temp2 = (ex+inv_ex);
12045 igc = (0.5*((((1.0-u0_div_H)*temp)*inv_x)+(u0_div_H*temp2)));
12046 igcd_h = (0.5*((igc-(temp*(Bg-((Ag*inv_x)*inv_x))))-((Ag*temp2)*inv_x)));
12049 Sg = (0.5*(1.0+(xg_dc/sqrt(((xg_dc*xg_dc)+1.0e-6)))));
12050 Igc = ((Igc0*igc)*Sg);
12051 Igcd = ((Igc0*igcd_h)*Sg);
12053 Igb = ((Igc0*igc)*(1.0-Sg));
12062 Vtovd = sqrt((((Vovd*Vovd)+((
CGIDLD_i*
CGIDLD_i)*(VdbPrime*VdbPrime)))+1.0e-6));
12064 if ((temp>(-2.3025850929940458e+02)))
12070 temp2 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
12072 Igidl = ((-
AGIDLD_i)*(((VdbPrime*Vovd)*Vtovd)*temp2));
12076 Vtovs = sqrt((((Vovs*Vovs)+((
CGIDL_i*
CGIDL_i)*(VsbPrime*VsbPrime)))+1.0e-6));
12078 if ((temp>(-2.3025850929940458e+02)))
12084 temp2 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
12086 Igisl = ((-
AGIDL_i)*(((VsbPrime*Vovs)*Vtovs)*temp2));
12258 temp = ((0.5*((Vdb+Vsb)-sqrt((((Vdb-Vsb)*(Vdb-Vsb))+
bphi_ac))))+
phix_ac);
12259 Vsbstar_ac = ((Vsb-(0.5*((temp)-sqrt((((temp)*(temp))+
aphi_ac)))))+
phix1_ac);
12260 Vsbstar = Vsbstar_ac;
12267 Vsbstar = Vsbstar_dc;
12293 Vdbstar = (Vds+Vsbstar);
12294 Vgbstar = (Vgs+Vsbstar);
12295 Vgb1 = (Vgbstar-
VFB_i);
12296 Vsbx = (Vsbstar+(0.5*(Vds-Vdsx)));
12297 delVg = (
CF_i*(Vdsx*(1+(
CFB_i*Vsbx))));
12298 Vgb1 = (Vgb1+delVg);
12303 Gf = (G_0*sqrt((1.0+Dnsub)));
12310 inv_Gf2 = (1.0/Gf2);
12311 xi = (1.0+(Gf*7.0710678118654746e-01));
12315 if ((xn_s<4.6051701859880916e+02))
12317 delta_ns = exp((-xn_s));
12321 delta_ns = (1.0e-200/(1.0+((xn_s-4.6051701859880916e+02)*(1.0+(0.5*((xn_s-4.6051701859880916e+02)*(1.0+((xn_s-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
12323 margin = (1e-5*xi);
12324 if ((fabs(xg)<=margin))
12326 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
12327 x_s = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_ns))*Gf)*SP_S_temp1)));
12331 if ((xg<(-margin)))
12334 SP_S_ysub = (1.25*(SP_S_yg*inv_xi));
12335 SP_S_eta = (0.5*((SP_S_ysub+10)-sqrt((((SP_S_ysub-6.0)*(SP_S_ysub-6.0))+64.0))));
12336 SP_S_temp = (SP_S_yg-SP_S_eta);
12337 SP_S_a = ((SP_S_temp*SP_S_temp)+(Gf2*(SP_S_eta+1.0)));
12338 SP_S_c = ((2.0*SP_S_temp)-Gf2);
12339 SP_S_tau = ((-SP_S_eta)+log((SP_S_a*inv_Gf2)));
12340 nu = (SP_S_a+SP_S_c);
12341 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-SP_S_a)));
12342 SP_S_y0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-SP_S_a)))));
12343 if ((SP_S_y0<2.3025850929940458e+02))
12345 SP_S_delta0 = exp(SP_S_y0);
12349 SP_S_delta0 = (1.0e100*(1.0+((SP_S_y0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_y0-2.3025850929940458e+02)*(1.0+((SP_S_y0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12351 SP_S_delta1 = (1.0/SP_S_delta0);
12352 SP_S_temp = (1.0/(2.0+(SP_S_y0*SP_S_y0)));
12353 SP_S_xi0 = ((SP_S_y0*SP_S_y0)*SP_S_temp);
12354 SP_S_xi1 = (4.0*((SP_S_y0*SP_S_temp)*SP_S_temp));
12355 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
12356 SP_S_temp = (SP_S_yg-SP_S_y0);
12357 SP_S_temp1 = (delta_ns*SP_S_delta1);
12358 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((SP_S_delta0-1.0)-SP_S_temp1)+(delta_ns*(1.0-SP_S_xi1)))));
12359 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta0-SP_S_y0)-1.0)+SP_S_temp1)+(delta_ns*((SP_S_y0-1.0)-SP_S_xi0)))));
12360 SP_S_temp = (2.0-(Gf2*((SP_S_delta0+SP_S_temp1)-(delta_ns*SP_S_xi2))));
12361 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
12362 x_s = ((-SP_S_y0)-(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
12366 SP_xg1 = (1.0/(
x1+(Gf*7.324648775608221e-001)));
12367 SP_S_A_fac = ((((xi*
x1)*SP_xg1)-1.0)*SP_xg1);
12368 SP_S_xbar = ((xg*inv_xi)*(1.0+(SP_S_A_fac*xg)));
12369 if (((-SP_S_xbar)>(-2.3025850929940458e+02)))
12371 SP_S_temp = exp((-SP_S_xbar));
12375 SP_S_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*3.3333333333333333e-01))))))));
12377 SP_S_w = (1.0-SP_S_temp);
12378 SP_S_x1 = ((xg+(Gf2*0.5))-(Gf*sqrt(((xg+(Gf2*0.25))-SP_S_w))));
12379 SP_S_bx = (xn_s+3.0);
12380 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
12381 SP_S_temp = (xg-SP_S_eta);
12382 SP_S_temp1 = exp((-SP_S_eta));
12383 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
12384 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
12385 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
12386 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
12387 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_ns*((SP_S_eta+1.0)+SP_S_xi0))))));
12388 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_ns*SP_S_xi2)))));
12389 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_ns*(1.0+SP_S_xi1)))));
12390 SP_S_tau = ((xn_s-SP_S_eta)+log((SP_S_a/Gf2)));
12391 nu = (SP_S_a+SP_S_c);
12392 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
12393 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
12394 if ((SP_S_x0<2.3025850929940458e+02))
12396 SP_S_delta0 = exp(SP_S_x0);
12397 SP_S_delta1 = (1.0/SP_S_delta0);
12398 SP_S_delta0 = (delta_ns*SP_S_delta0);
12402 if ((SP_S_x0>(xn_s-2.3025850929940458e+02)))
12404 SP_S_delta0 = exp((SP_S_x0-xn_s));
12405 SP_S_delta1 = (delta_ns/SP_S_delta0);
12409 SP_S_delta0 = (1.0e-100/(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12410 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12413 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
12414 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
12415 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
12416 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
12417 SP_S_temp = (xg-SP_S_x0);
12418 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_ns*(1.0+SP_S_xi1)))));
12419 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_ns*((SP_S_x0+1.0)+SP_S_xi0)))));
12420 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_ns*SP_S_xi2))));
12421 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
12422 x_s = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
12432 Voxm = (xgm*
phit1);
12439 temp = (1.0/(2.0+(x_s*x_s)));
12440 xi0s = ((x_s*x_s)*temp);
12441 xi1s = (4.0*((x_s*temp)*temp));
12442 xi2s = ((((8.0*temp)-(12.0*xi0s))*temp)*temp);
12443 if ((x_s<2.3025850929940458e+02))
12445 delta_1s = exp(x_s);
12446 Es = (1.0/delta_1s);
12447 delta_1s = (delta_ns*delta_1s);
12451 if ((x_s>(xn_s-2.3025850929940458e+02)))
12453 delta_1s = exp((x_s-xn_s));
12454 Es = (delta_ns/delta_1s);
12458 delta_1s = (1.0e-100/(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12459 Es = (1.0e-100/(1.0+((x_s-2.3025850929940458e+02)*(1.0+(0.5*((x_s-2.3025850929940458e+02)*(1.0+((x_s-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12462 Ds = (delta_1s-(delta_ns*((x_s+1.0)+xi0s)));
12465 Ps = (0.5*((x_s*x_s)*(1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s)))))));
12466 Ds = (1.6666666666666667e-01*((((delta_ns*x_s)*x_s)*x_s)*(1.0+(1.75*x_s))));
12467 temp = sqrt((1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s))))));
12468 sqm = (7.0710678118654746e-01*(x_s*temp));
12469 alpha = (1.0+(((Gf*7.0710678118654746e-01)*((1.0-(0.5*x_s))+(1.6666666666666667e-01*(x_s*x_s))))/temp));
12473 Ps = ((x_s-1.0)+Es);
12475 alpha = (1.0+(0.5*((Gf*(1.0-Es))/sqm)));
12481 Rxcor = ((1.0+((0.2*
XCOR_i)*Vsbx))/(1.0+(
XCOR_i*Vsbx)));
12484 xgs = (Gf*sqrt((Ps+Ds)));
12485 qis = (((Gf2*Ds)*
phit1)/(xgs+(Gf*sqm)));
12486 qbs = ((sqm*Gf)*
phit1);
12489 rhob = (1.0/(1.0-(
RSB_i*Vsbx)));
12493 rhob = (1.0+(
RSB_i*Vsbx));
12497 temp = (1.0-(
RSG_i*qis));
12501 temp = (1.0/(1.0+(
RSG_i*qis)));
12503 GR = (
THER_i*((rhob*temp)*qis));
12505 if (((Eeffm*
MUE_i)!=0))
12507 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Ps/((Ps+Ds)+1.0e-14))));
12511 Mutmp = (
CS_i*(Ps/((Ps+Ds)+1.0e-14)));
12513 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
12522 temp2 = (qis*xitsb);
12523 wsat = (100.0*(temp2/(100.0+temp2)));
12533 phi_inf = ((qis/alpha)+
phit1);
12534 ysat = ((thesat1*phi_inf)*7.0710678118654746e-01);
12537 ysat = (ysat/sqrt((1.0+ysat)));
12539 za = (2.0/(1.0+sqrt((1.0+(4.0*ysat)))));
12541 Phi_0 = ((phi_inf*za)*(1.0+(0.86*((temp1*(1.0-(temp1*za)))/(1.0+(4.0*((temp1*temp1)*za)))))));
12542 asat = (xgs+(0.5*Gf2));
12543 Phi_2 = (0.98*(((Gf2*Ds)*
phit1)/(asat+sqrt(((asat*asat)-((Gf2*Ds)*0.98))))));
12544 Phi_0_2 = (Phi_0+Phi_2);
12545 Phi0_Phi2 = (2.0*(Phi_0*Phi_2));
12546 Phi_sat = (Phi0_Phi2/(Phi_0_2+sqrt(((Phi_0_2*Phi_0_2)-(1.98*Phi0_Phi2)))));
12547 Vdsat = (Phi_sat-(
phit1*log((1.0+(((Phi_sat*(Phi_sat-((2.0*asat)*
phit1)))*inv_Gf2)/((phit1*phit1)*Ds))))));
12553 if (((Vds/Vdsat)!=0))
12555 temp = pow((Vds/Vdsat),
AX_i);
12561 Vdse = (Vds*pow((1.0+temp),(-
inv_AX)));
12563 xn_d = (xn_s+Udse);
12564 if ((Udse<4.6051701859880916e+02))
12566 k_ds = exp((-Udse));
12570 k_ds = (1.0e-200/(1.0+((Udse-4.6051701859880916e+02)*(1.0+(0.5*((Udse-4.6051701859880916e+02)*(1.0+((Udse-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
12572 delta_nd = (delta_ns*k_ds);
12573 if ((fabs(xg)<=margin))
12575 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
12576 x_d = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_nd))*Gf)*SP_S_temp1)));
12580 SP_S_bx = (xn_d+3);
12581 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
12582 SP_S_temp = (xg-SP_S_eta);
12583 SP_S_temp1 = exp((-SP_S_eta));
12584 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
12585 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
12586 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
12587 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
12588 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_nd*((SP_S_eta+1.0)+SP_S_xi0))))));
12589 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_nd*SP_S_xi2)))));
12590 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_nd*(1.0+SP_S_xi1)))));
12591 SP_S_tau = ((xn_d-SP_S_eta)+log((SP_S_a/Gf2)));
12592 nu = (SP_S_a+SP_S_c);
12593 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
12594 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
12595 if ((SP_S_x0<2.3025850929940458e+02))
12597 SP_S_delta0 = exp(SP_S_x0);
12598 SP_S_delta1 = (1.0/SP_S_delta0);
12599 SP_S_delta0 = (delta_nd*SP_S_delta0);
12603 if ((SP_S_x0>(xn_d-2.3025850929940458e+02)))
12605 SP_S_delta0 = exp((SP_S_x0-xn_d));
12606 SP_S_delta1 = (delta_nd/SP_S_delta0);
12610 SP_S_delta0 = (1.0e-100/(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12611 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12614 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
12615 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
12616 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
12617 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
12618 SP_S_temp = (xg-SP_S_x0);
12619 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_nd*(1.0+SP_S_xi1)))));
12620 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_nd*((SP_S_x0+1.0)+SP_S_xi0)))));
12621 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_nd*SP_S_xi2))));
12622 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
12623 x_d = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
12626 if ((x_ds<1.0E-10))
12628 pC = ((2.0*(xg-x_s))+(Gf2*(((1.0-Es)+(delta_1s*k_ds))-(delta_nd*(1.0+xi1s)))));
12629 qC = ((Gf2*(1.0-k_ds))*Ds);
12630 temp = (2.0-(Gf2*((Es+(delta_1s*k_ds))-(delta_nd*xi2s))));
12631 temp = ((pC*pC)-(2.0*(temp*qC)));
12632 x_ds = (2.0*(qC/(pC+sqrt(temp))));
12635 dps = (x_ds*
phit1);
12636 xi0d = ((x_d*x_d)/(2.0+(x_d*x_d)));
12637 if ((x_d<2.3025850929940458e+02))
12642 Dd = (((((1.6666666666666667e-01*delta_nd)*x_d)*x_d)*x_d)*(1.0+(1.75*x_d)));
12646 Dd = (delta_nd*((((1.0/Ed)-x_d)-1.0)-xi0d));
12651 if ((x_d>(xn_d-2.3025850929940458e+02)))
12653 temp = exp((x_d-xn_d));
12654 Ed = (delta_nd/temp);
12655 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
12659 Ed = (1.0e-100/(1.0+((x_d-2.3025850929940458e+02)*(1.0+(0.5*((x_d-2.3025850929940458e+02)*(1.0+((x_d-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12660 temp = (1.0e-100/(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12661 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
12664 x_m = (0.5*(x_s+x_d));
12671 D_bar = (0.5*(Ds+Dd));
12672 Dm = (D_bar+(0.125*((x_ds*x_ds)*(Em-(2.0*inv_Gf2)))));
12675 Pm = (0.5*((x_m*x_m)*(1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m)))))));
12676 xgm = (Gf*sqrt((Dm+Pm)));
12679 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
12681 temp = sqrt((1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m))))));
12682 sqm = (7.0710678118654746e-01*(x_m*temp));
12683 alpha = (eta_p+(7.0710678118654746e-01*((Gf*((1.0-(0.5*x_m))+(1.6666666666666667e-01*(x_m*x_m))))/temp)));
12687 Pm = ((x_m-1.0)+Em);
12688 xgm = (Gf*sqrt((Dm+Pm)));
12691 d0 = ((1.0-Em)+(2.0*(xgm*inv_Gf2)));
12692 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
12693 temp = (eta_p/(eta_p+1.0));
12694 x_pm = (
kp*(((temp*temp)*Gf2)*Dm));
12695 p_pd = ((2.0*(xgm-x_pm))+(Gf2*((1.0-Em)+Dm)));
12696 q_pd = (x_pm*(x_pm-(2.0*xgm)));
12697 xi_pd = (1.0-(0.5*(Gf2*(Em+Dm))));
12698 u_pd = ((q_pd*p_pd)/((p_pd*p_pd)-(xi_pd*q_pd)));
12703 Pm = ((x_m-1.0)+Em);
12704 xgm = (Gf*sqrt((Dm+Pm)));
12705 help = ((1.0-Em)+(2.0*((xgm*eta_p)*inv_Gf2)));
12706 x_ds = (((x_ds*km)*(d0+D_bar))/(help+(km*D_bar)));
12707 dps = (x_ds*
phit1);
12710 alpha = (eta_p+(0.5*((Gf*(1.0-Em))/sqm)));
12712 qim = (
phit1*((Gf2*Dm)/(xgm+(Gf*sqm))));
12713 qim1 = (qim+(
phit1*alpha));
12714 qbm = ((sqm*Gf)*
phit1);
12717 temp = (1.0-(
RSG_i*qim));
12721 temp = (1.0/(1.0+(
RSG_i*qim)));
12723 GR = (
THER_i*((rhob*temp)*qim));
12724 qeff = (qbm+(
eta_mu*qim));
12727 if (((Eeffm*
MUE_i)!=0))
12729 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Pm/((Pm+Dm)+1.0e-14))));
12733 Mutmp = (
CS_i*(Pm/((Pm+Dm)+1.0e-14)));
12735 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
12736 s1 = log(((1.0+((Vds-dps)*
inv_VP))/(1.0+((Vdse-dps)*inv_VP))));
12738 GdL = (1.0/((1.0+dL)+(dL*dL)));
12739 temp2 = (qim*xitsb);
12740 wsat = (100.0*(temp2/(100.0+temp2)));
12741 Gmob_dL = (Gmob*GdL);
12750 thesat1 = (
THESAT_i*(temp/Gmob_dL));
12751 zsat = (((thesat1*thesat1)*dps)*dps);
12754 zsat = (zsat/(1.0+(thesat1*dps)));
12756 Gvsat = (0.5*(Gmob_dL*(1.0+sqrt((1.0+(2.0*zsat))))));
12757 Gvsatinv = (1.0/Gvsat);
12758 Voxm = (xgm*
phit1);
12759 temp = (Gmob_dL*Gvsatinv);
12760 alpha1 = (alpha*(1.0+(0.5*((zsat*temp)*temp))));
12761 H = ((temp*qim1)/alpha1);
12774 Gmob_dL_ac = Gmob_dL;
12781 qeff1_ac = qeff1_dc;
12783 alpha_ac = alpha_dc;
12789 eta_p_ac = eta_p_dc;
12790 Gvsat_ac = Gvsat_dc;
12791 Gmob_dL_ac = Gmob_dL_dc;
12801 COX_qm = (
COX_i/(1.0+(
qq*pow(((qeff1_ac*qeff1_ac)+
qlim2),((-1.0)*1.6666666666666667e-01)))));
12812 Fj = (0.5*(dps_ac/H_ac));
12814 QCLM = ((1.0-GdL_ac)*(qim_ac-(0.5*(alpha_ac*dps_ac))));
12815 QG = (Voxm_ac+(0.5*((eta_p_ac*dps_ac)*((((Fj*GdL_ac)*3.3333333333333333e-01)-1.0)+GdL_ac))));
12816 temp = ((alpha_ac*dps_ac)*1.6666666666666667e-01);
12817 QI = ((GdL_ac*(qim_ac+(temp*Fj)))+QCLM);
12818 QD = (0.5*(((GdL_ac*GdL_ac)*(qim_ac-(temp*((1.0-Fj)-(0.2*Fj2)))))+(QCLM*(1.0+GdL_ac))));
12822 Qd = ((-QD)*COX_qm);
12823 Qb = ((-QB)*COX_qm);
12827 Qfgs = (
CFR_i*VgsPrime);
12828 Qfgd = (
CFRD_i*VgdPrime);
12838 if ((tm0<(-2.3025850929940458e+02)))
12840 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12855 if ((tm0<(-2.3025850929940458e+02)))
12857 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12879 if ((tm0<(-2.3025850929940458e+02)))
12881 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12896 ijun_s = ((ijunfor1+ijunfor2)+ijunrev);
12898 if ((tm0<(-2.3025850929940458e+02)))
12900 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12915 if ((tm0<(-2.3025850929940458e+02)))
12917 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12939 if ((tm0<(-2.3025850929940458e+02)))
12941 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12956 ijun_d = ((ijunfor1+ijunfor2)+ijunrev);
13073 h2d = (Vjun_s+(
vch_s*h2));
13076 h5 = sqrt(((h4*h4)+h1));
13228 h2d = (Vjun_d+(
vch_d*h2));
13231 h5 = sqrt(((h4*h4)+h1));
13392 h2d = (Vjun_s+(
vch_s*h2));
13395 h5 = sqrt(((h4*h4)+h1));
13399 if ((fabs((0.5*(Vjun_s*(
model_.
phitdinv))))<2.3025850929940458e+02))
13405 if (((0.5*(Vjun_s*(
model_.
phitdinv)))<(-2.3025850929940458e+02)))
13407 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_s*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(Vjun_s*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_s*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
13411 zinv = (1.0e100*(1.0+(((0.5*(Vjun_s*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(Vjun_s*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(Vjun_s*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13425 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
13434 vav = (0.5*((Vjun_s)-sqrt((((Vjun_s)*(Vjun_s))+((4*1E-6)*1E-6)))));
13467 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
13469 wsrh = (wsrhstep+dwsrh);
13489 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
13490 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
13491 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
13492 sqrtumax = sqrt(fabs(umax));
13493 umaxpoweronepointfive = (umax*sqrtumax);
13496 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
13502 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
13503 ktat = sqrt((0.375*(btat/sqrtumax)));
13504 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
13506 xerfc = ((ltat-1)*ktat);
13507 ysq = (xerfc*xerfc);
13516 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
13518 tmp = exp(((-ysq)+mtat));
13522 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
13524 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
13527 erfctimesexpmtat = erfcpos;
13531 if ((mtat>(-2.3025850929940458e+02)))
13537 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
13539 erfctimesexpmtat = ((2*tmp)-erfcpos);
13541 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
13559 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
13565 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
13567 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
13571 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13592 fbreakdown = (1/(1-tmp));
13599 ijunbot_s = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
13632 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
13634 wsrh = (wsrhstep+dwsrh);
13654 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
13655 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
13656 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
13657 sqrtumax = sqrt(fabs(umax));
13658 umaxpoweronepointfive = (umax*sqrtumax);
13661 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
13667 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
13668 ktat = sqrt((0.375*(btat/sqrtumax)));
13669 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
13671 xerfc = ((ltat-1)*ktat);
13672 ysq = (xerfc*xerfc);
13681 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
13683 tmp = exp(((-ysq)+mtat));
13687 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
13689 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
13692 erfctimesexpmtat = erfcpos;
13696 if ((mtat>(-2.3025850929940458e+02)))
13702 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
13704 erfctimesexpmtat = ((2*tmp)-erfcpos);
13706 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
13724 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
13730 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
13732 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
13736 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13757 fbreakdown = (1/(1-tmp));
13764 ijunsti_s = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
13797 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
13799 wsrh = (wsrhstep+dwsrh);
13819 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
13820 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
13821 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
13822 sqrtumax = sqrt(fabs(umax));
13823 umaxpoweronepointfive = (umax*sqrtumax);
13826 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
13832 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
13833 ktat = sqrt((0.375*(btat/sqrtumax)));
13834 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
13836 xerfc = ((ltat-1)*ktat);
13837 ysq = (xerfc*xerfc);
13846 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
13848 tmp = exp(((-ysq)+mtat));
13852 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
13854 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
13857 erfctimesexpmtat = erfcpos;
13861 if ((mtat>(-2.3025850929940458e+02)))
13867 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
13869 erfctimesexpmtat = ((2*tmp)-erfcpos);
13871 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
13889 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
13895 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
13897 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
13901 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13922 fbreakdown = (1/(1-tmp));
13929 ijungat_s = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14050 h2d = (Vjun_d+(
vch_d*h2));
14053 h5 = sqrt(((h4*h4)+h1));
14057 if ((fabs((0.5*(Vjun_d*(
model_.
phitdinv))))<2.3025850929940458e+02))
14063 if (((0.5*(Vjun_d*(
model_.
phitdinv)))<(-2.3025850929940458e+02)))
14065 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_d*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(Vjun_d*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_d*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
14069 zinv = (1.0e100*(1.0+(((0.5*(Vjun_d*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(Vjun_d*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(Vjun_d*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14083 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
14092 vav = (0.5*((Vjun_d)-sqrt((((Vjun_d)*(Vjun_d))+((4*1E-6)*1E-6)))));
14125 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
14127 wsrh = (wsrhstep+dwsrh);
14147 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
14148 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
14149 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
14150 sqrtumax = sqrt(fabs(umax));
14151 umaxpoweronepointfive = (umax*sqrtumax);
14154 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
14160 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
14161 ktat = sqrt((0.375*(btat/sqrtumax)));
14162 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
14164 xerfc = ((ltat-1)*ktat);
14165 ysq = (xerfc*xerfc);
14174 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
14176 tmp = exp(((-ysq)+mtat));
14180 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
14182 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
14185 erfctimesexpmtat = erfcpos;
14189 if ((mtat>(-2.3025850929940458e+02)))
14195 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
14197 erfctimesexpmtat = ((2*tmp)-erfcpos);
14199 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
14217 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
14223 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
14225 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
14229 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14250 fbreakdown = (1/(1-tmp));
14257 ijunbot_d = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14290 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
14292 wsrh = (wsrhstep+dwsrh);
14312 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
14313 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
14314 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
14315 sqrtumax = sqrt(fabs(umax));
14316 umaxpoweronepointfive = (umax*sqrtumax);
14319 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
14325 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
14326 ktat = sqrt((0.375*(btat/sqrtumax)));
14327 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
14329 xerfc = ((ltat-1)*ktat);
14330 ysq = (xerfc*xerfc);
14339 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
14341 tmp = exp(((-ysq)+mtat));
14345 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
14347 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
14350 erfctimesexpmtat = erfcpos;
14354 if ((mtat>(-2.3025850929940458e+02)))
14360 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
14362 erfctimesexpmtat = ((2*tmp)-erfcpos);
14364 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
14382 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
14388 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
14390 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
14394 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14415 fbreakdown = (1/(1-tmp));
14422 ijunsti_d = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14455 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
14457 wsrh = (wsrhstep+dwsrh);
14477 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
14478 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
14479 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
14480 sqrtumax = sqrt(fabs(umax));
14481 umaxpoweronepointfive = (umax*sqrtumax);
14484 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
14490 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
14491 ktat = sqrt((0.375*(btat/sqrtumax)));
14492 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
14494 xerfc = ((ltat-1)*ktat);
14495 ysq = (xerfc*xerfc);
14504 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
14506 tmp = exp(((-ysq)+mtat));
14510 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
14512 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
14515 erfctimesexpmtat = erfcpos;
14519 if ((mtat>(-2.3025850929940458e+02)))
14525 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
14527 erfctimesexpmtat = ((2*tmp)-erfcpos);
14529 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
14547 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
14553 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
14555 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
14559 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14580 fbreakdown = (1/(1-tmp));
14587 ijungat_d = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14600 Igsove = (
MULT_i*Igsov);
14601 Igdove = (
MULT_i*Igdov);
14602 Igidle = (
MULT_i*Igidl);
14603 Igisle = (
MULT_i*Igisl);
14604 Iimpacte = (
MULT_i*Iimpact);
14759 Qs = (-((Qg+Qb)+Qd));
14760 Qfgs = (
MULT_i*(Qfgs+Qgs_ov));
14761 Qfgd = (
MULT_i*(Qfgd+Qgd_ov));
14762 Qgb_ov = (
MULT_i*Qgb_ov);
14800 #ifdef Xyce_DEBUG_DEVICE
14803 Xyce::dout() <<
" probeVars[admsProbeID_V_DI_BD] = "
14805 Xyce::dout() <<
" probeVars[admsProbeID_V_SI_BS] = "
14807 Xyce::dout() <<
" probeVars[admsProbeID_V_SI_BP] = "
14809 Xyce::dout() <<
" probeVars[admsProbeID_V_DI_SI] = "
14811 Xyce::dout() <<
" probeVars[admsProbeID_V_GP_SI] = "
14813 Xyce::dout() <<
" probeVars[admsProbeID_V_B_BI] = "
14815 Xyce::dout() <<
" probeVars[admsProbeID_V_BP_BI] = "
14817 Xyce::dout() <<
" probeVars[admsProbeID_V_BD_BI] = "
14819 Xyce::dout() <<
" probeVars[admsProbeID_V_BS_BI] = "
14821 Xyce::dout() <<
" probeVars[admsProbeID_V_D_DI] = "
14823 Xyce::dout() <<
" probeVars[admsProbeID_V_S_SI] = "
14825 Xyce::dout() <<
" probeVars[admsProbeID_V_G_GP] = "
14827 Xyce::dout() <<
" staticContributions[admsNodeID_D] = "
14841 Xyce::dout() <<
" dynamicContributions[admsNodeID_D] = "
14855 Xyce::dout() <<
" staticContributions[admsNodeID_G] = "
14869 Xyce::dout() <<
" dynamicContributions[admsNodeID_G] = "
14883 Xyce::dout() <<
" staticContributions[admsNodeID_S] = "
14897 Xyce::dout() <<
" dynamicContributions[admsNodeID_S] = "
14911 Xyce::dout() <<
" staticContributions[admsNodeID_B] = "
14925 Xyce::dout() <<
" dynamicContributions[admsNodeID_B] = "
14939 Xyce::dout() <<
" staticContributions[admsNodeID_GP] = "
14953 Xyce::dout() <<
" dynamicContributions[admsNodeID_GP] = "
14967 Xyce::dout() <<
" staticContributions[admsNodeID_SI] = "
14981 Xyce::dout() <<
" dynamicContributions[admsNodeID_SI] = "
14995 Xyce::dout() <<
" staticContributions[admsNodeID_DI] = "
15009 Xyce::dout() <<
" dynamicContributions[admsNodeID_DI] = "
15023 Xyce::dout() <<
" staticContributions[admsNodeID_BI] = "
15037 Xyce::dout() <<
" dynamicContributions[admsNodeID_BI] = "
15051 Xyce::dout() <<
" staticContributions[admsNodeID_BP] = "
15065 Xyce::dout() <<
" dynamicContributions[admsNodeID_BP] = "
15079 Xyce::dout() <<
" staticContributions[admsNodeID_BS] = "
15093 Xyce::dout() <<
" dynamicContributions[admsNodeID_BS] = "
15107 Xyce::dout() <<
" staticContributions[admsNodeID_BD] = "
15121 Xyce::dout() <<
" dynamicContributions[admsNodeID_BD] = "
15137 Xyce::dout() <<
"This step was limited by this device." << std::endl;
15139 #endif // Xyce_DEBUG_DEVICE
15153 bool bsuccess =
true;
15156 #ifdef Xyce_DEBUG_DEVICE
15159 Xyce::dout() << subsection_divider << std::endl;
15160 Xyce::dout() <<
"ADMSPSP103VA::Instance::loadDAEdFdx (" <<
getName() <<
"):" << std::endl;
15166 #ifdef Xyce_DEBUG_DEVICE
15175 #ifdef Xyce_DEBUG_DEVICE
15184 #ifdef Xyce_DEBUG_DEVICE
15193 #ifdef Xyce_DEBUG_DEVICE
15202 #ifdef Xyce_DEBUG_DEVICE
15211 #ifdef Xyce_DEBUG_DEVICE
15220 #ifdef Xyce_DEBUG_DEVICE
15229 #ifdef Xyce_DEBUG_DEVICE
15238 #ifdef Xyce_DEBUG_DEVICE
15247 #ifdef Xyce_DEBUG_DEVICE
15256 #ifdef Xyce_DEBUG_DEVICE
15265 #ifdef Xyce_DEBUG_DEVICE
15274 #ifdef Xyce_DEBUG_DEVICE
15283 #ifdef Xyce_DEBUG_DEVICE
15292 #ifdef Xyce_DEBUG_DEVICE
15301 #ifdef Xyce_DEBUG_DEVICE
15310 #ifdef Xyce_DEBUG_DEVICE
15319 #ifdef Xyce_DEBUG_DEVICE
15328 #ifdef Xyce_DEBUG_DEVICE
15337 #ifdef Xyce_DEBUG_DEVICE
15346 #ifdef Xyce_DEBUG_DEVICE
15355 #ifdef Xyce_DEBUG_DEVICE
15364 #ifdef Xyce_DEBUG_DEVICE
15373 #ifdef Xyce_DEBUG_DEVICE
15382 #ifdef Xyce_DEBUG_DEVICE
15391 #ifdef Xyce_DEBUG_DEVICE
15400 #ifdef Xyce_DEBUG_DEVICE
15409 #ifdef Xyce_DEBUG_DEVICE
15418 #ifdef Xyce_DEBUG_DEVICE
15427 #ifdef Xyce_DEBUG_DEVICE
15436 #ifdef Xyce_DEBUG_DEVICE
15445 #ifdef Xyce_DEBUG_DEVICE
15454 #ifdef Xyce_DEBUG_DEVICE
15463 #ifdef Xyce_DEBUG_DEVICE
15472 #ifdef Xyce_DEBUG_DEVICE
15481 #ifdef Xyce_DEBUG_DEVICE
15490 #ifdef Xyce_DEBUG_DEVICE
15499 #ifdef Xyce_DEBUG_DEVICE
15508 #ifdef Xyce_DEBUG_DEVICE
15517 #ifdef Xyce_DEBUG_DEVICE
15526 #ifdef Xyce_DEBUG_DEVICE
15535 #ifdef Xyce_DEBUG_DEVICE
15544 #ifdef Xyce_DEBUG_DEVICE
15553 #ifdef Xyce_DEBUG_DEVICE
15562 #ifdef Xyce_DEBUG_DEVICE
15571 #ifdef Xyce_DEBUG_DEVICE
15580 #ifdef Xyce_DEBUG_DEVICE
15602 bool bsuccess =
true;
15605 #ifdef Xyce_DEBUG_DEVICE
15608 Xyce::dout() << subsection_divider << std::endl;
15609 Xyce::dout() <<
"ADMSPSP103VA::Instance::loadDAEdQdx (" <<
getName() <<
"):" << std::endl;
15615 #ifdef Xyce_DEBUG_DEVICE
15624 #ifdef Xyce_DEBUG_DEVICE
15633 #ifdef Xyce_DEBUG_DEVICE
15642 #ifdef Xyce_DEBUG_DEVICE
15651 #ifdef Xyce_DEBUG_DEVICE
15660 #ifdef Xyce_DEBUG_DEVICE
15669 #ifdef Xyce_DEBUG_DEVICE
15678 #ifdef Xyce_DEBUG_DEVICE
15687 #ifdef Xyce_DEBUG_DEVICE
15696 #ifdef Xyce_DEBUG_DEVICE
15705 #ifdef Xyce_DEBUG_DEVICE
15714 #ifdef Xyce_DEBUG_DEVICE
15723 #ifdef Xyce_DEBUG_DEVICE
15732 #ifdef Xyce_DEBUG_DEVICE
15741 #ifdef Xyce_DEBUG_DEVICE
15750 #ifdef Xyce_DEBUG_DEVICE
15759 #ifdef Xyce_DEBUG_DEVICE
15768 #ifdef Xyce_DEBUG_DEVICE
15777 #ifdef Xyce_DEBUG_DEVICE
15786 #ifdef Xyce_DEBUG_DEVICE
15795 #ifdef Xyce_DEBUG_DEVICE
15804 #ifdef Xyce_DEBUG_DEVICE
15813 #ifdef Xyce_DEBUG_DEVICE
15822 #ifdef Xyce_DEBUG_DEVICE
15831 #ifdef Xyce_DEBUG_DEVICE
15840 #ifdef Xyce_DEBUG_DEVICE
15849 #ifdef Xyce_DEBUG_DEVICE
15858 #ifdef Xyce_DEBUG_DEVICE
15904 if ( (!((
TYPE >=(-1.0) &&
TYPE <=1.0 ))) )
15906 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TYPE value " <<
TYPE <<
" out of range [ (-1.0), 1.0 ]";
15910 if ( (!((
TR >=(-273.0)))) )
15912 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TR value " <<
TR <<
" out of range [ (-273.0), (+inf) [";
15918 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWGEO value " <<
SWGEO <<
" out of range [ 0.0, 2.0 ]";
15924 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWIGATE value " <<
SWIGATE <<
" out of range [ 0.0, 1.0 ]";
15930 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWIMPACT value " <<
SWIMPACT <<
" out of range [ 0.0, 1.0 ]";
15936 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWGIDL value " <<
SWGIDL <<
" out of range [ 0.0, 1.0 ]";
15942 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWJUNCAP value " <<
SWJUNCAP <<
" out of range [ 0.0, 3.0 ]";
15948 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWNUD value " <<
SWNUD <<
" out of range [ 0.0, 2.0 ]";
15954 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWDELVTAC value " <<
SWDELVTAC <<
" out of range [ 0.0, 1.0 ]";
15958 if ( (!((
QMC >=0.0))) )
15960 UserError0(*
this) <<
"ADMSPSP103VA: Parameter QMC value " <<
QMC <<
" out of range [ 0.0, (+inf) [";
15964 if ( (!((
TOX >=1e-10))) )
15966 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOX value " <<
TOX <<
" out of range [ 1e-10, (+inf) [";
15970 if ( (!((
EPSROX >=1.0))) )
15972 UserError0(*
this) <<
"ADMSPSP103VA: Parameter EPSROX value " <<
EPSROX <<
" out of range [ 1.0, (+inf) [";
15976 if ( (!((
NEFF >=1e20 &&
NEFF <=1e26 ))) )
15978 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NEFF value " <<
NEFF <<
" out of range [ 1e20, 1e26 ]";
15984 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FACNEFFAC value " <<
FACNEFFAC <<
" out of range [ 0.0, (+inf) [";
15990 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GFACNUD value " <<
GFACNUD <<
" out of range [ 0.01, (+inf) [";
15994 if ( (!((
VSBNUD >=0.0))) )
15996 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VSBNUD value " <<
VSBNUD <<
" out of range [ 0.0, (+inf) [";
16002 UserError0(*
this) <<
"ADMSPSP103VA: Parameter DVSBNUD value " <<
DVSBNUD <<
" out of range [ 0.1, (+inf) [";
16006 if ( (!((
NSLP >=1e-3))) )
16008 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NSLP value " <<
NSLP <<
" out of range [ 1e-3, (+inf) [";
16014 UserError0(*
this) <<
"ADMSPSP103VA: Parameter DNSUB value " <<
DNSUB <<
" out of range [ 0.0, 1.0 ]";
16018 if ( (!((
NP >=0.0))) )
16020 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NP value " <<
NP <<
" out of range [ 0.0, (+inf) [";
16024 if ( (!((
CT >=0.0))) )
16026 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CT value " <<
CT <<
" out of range [ 0.0, (+inf) [";
16030 if ( (!((
TOXOV >=1e-10))) )
16032 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOV value " <<
TOXOV <<
" out of range [ 1e-10, (+inf) [";
16036 if ( (!((
TOXOVD >=1e-10))) )
16038 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOVD value " <<
TOXOVD <<
" out of range [ 1e-10, (+inf) [";
16042 if ( (!((
NOV >=1e20 &&
NOV <=1e27 ))) )
16044 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NOV value " <<
NOV <<
" out of range [ 1e20, 1e27 ]";
16048 if ( (!((
NOVD >=1e20 &&
NOVD <=1e27 ))) )
16050 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NOVD value " <<
NOVD <<
" out of range [ 1e20, 1e27 ]";
16054 if ( (!((
CF >=0.0))) )
16056 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CF value " <<
CF <<
" out of range [ 0.0, (+inf) [";
16060 if ( (!((
CFB >=0.0 &&
CFB <=1.0 ))) )
16062 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CFB value " <<
CFB <<
" out of range [ 0.0, 1.0 ]";
16066 if ( (!((
BETN >=0.0))) )
16068 UserError0(*
this) <<
"ADMSPSP103VA: Parameter BETN value " <<
BETN <<
" out of range [ 0.0, (+inf) [";
16072 if ( (!((
MUE >=0.0))) )
16074 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MUE value " <<
MUE <<
" out of range [ 0.0, (+inf) [";
16078 if ( (!((
THEMU >=0.0))) )
16080 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THEMU value " <<
THEMU <<
" out of range [ 0.0, (+inf) [";
16084 if ( (!((
CS >=0.0))) )
16086 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CS value " <<
CS <<
" out of range [ 0.0, (+inf) [";
16090 if ( (!((
XCOR >=0.0))) )
16092 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XCOR value " <<
XCOR <<
" out of range [ 0.0, (+inf) [";
16096 if ( (!((
FETA >=0.0))) )
16098 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FETA value " <<
FETA <<
" out of range [ 0.0, (+inf) [";
16102 if ( (!((
RS >=0.0))) )
16104 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RS value " <<
RS <<
" out of range [ 0.0, (+inf) [";
16108 if ( (!((
RSB >=(-0.5) &&
RSB <=1.0 ))) )
16110 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSB value " <<
RSB <<
" out of range [ (-0.5), 1.0 ]";
16114 if ( (!((
RSG >=(-0.5)))) )
16116 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSG value " <<
RSG <<
" out of range [ (-0.5), (+inf) [";
16120 if ( (!((
THESAT >=0.0))) )
16122 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THESAT value " <<
THESAT <<
" out of range [ 0.0, (+inf) [";
16128 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THESATB value " <<
THESATB <<
" out of range [ (-0.5), 1.0 ]";
16132 if ( (!((
THESATG >=(-0.5)))) )
16134 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THESATG value " <<
THESATG <<
" out of range [ (-0.5), (+inf) [";
16138 if ( (!((
AX >=2.0))) )
16140 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AX value " <<
AX <<
" out of range [ 2.0, (+inf) [";
16144 if ( (!((
ALP >=0.0))) )
16146 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP value " <<
ALP <<
" out of range [ 0.0, (+inf) [";
16150 if ( (!((
ALP1 >=0.0))) )
16152 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP1 value " <<
ALP1 <<
" out of range [ 0.0, (+inf) [";
16156 if ( (!((
ALP2 >=0.0))) )
16158 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP2 value " <<
ALP2 <<
" out of range [ 0.0, (+inf) [";
16162 if ( (!((
VP >=1e-10))) )
16164 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VP value " <<
VP <<
" out of range [ 1e-10, (+inf) [";
16168 if ( (!((
A1 >=0.0))) )
16170 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A1 value " <<
A1 <<
" out of range [ 0.0, (+inf) [";
16174 if ( (!((
A2 >=0.0))) )
16176 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A2 value " <<
A2 <<
" out of range [ 0.0, (+inf) [";
16180 if ( (!((
A3 >=0.0))) )
16182 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A3 value " <<
A3 <<
" out of range [ 0.0, (+inf) [";
16186 if ( (!((
A4 >=0.0))) )
16188 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A4 value " <<
A4 <<
" out of range [ 0.0, (+inf) [";
16192 if ( (!((
GCO >=(-10.0) &&
GCO <=10.0 ))) )
16194 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GCO value " <<
GCO <<
" out of range [ (-10.0), 10.0 ]";
16198 if ( (!((
IGINV >=0.0))) )
16200 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IGINV value " <<
IGINV <<
" out of range [ 0.0, (+inf) [";
16204 if ( (!((
IGOV >=0.0))) )
16206 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IGOV value " <<
IGOV <<
" out of range [ 0.0, (+inf) [";
16210 if ( (!((
IGOVD >=0.0))) )
16212 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IGOVD value " <<
IGOVD <<
" out of range [ 0.0, (+inf) [";
16216 if ( (!((
GC2 >=0.0 &&
GC2 <=10.0 ))) )
16218 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GC2 value " <<
GC2 <<
" out of range [ 0.0, 10.0 ]";
16222 if ( (!((
GC3 >=(-2.0) &&
GC3 <=2.0 ))) )
16224 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GC3 value " <<
GC3 <<
" out of range [ (-2.0), 2.0 ]";
16228 if ( (!((
CHIB >=1.0))) )
16230 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CHIB value " <<
CHIB <<
" out of range [ 1.0, (+inf) [";
16234 if ( (!((
AGIDL >=0.0))) )
16236 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AGIDL value " <<
AGIDL <<
" out of range [ 0.0, (+inf) [";
16240 if ( (!((
AGIDLD >=0.0))) )
16242 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AGIDLD value " <<
AGIDLD <<
" out of range [ 0.0, (+inf) [";
16246 if ( (!((
BGIDL >=0.0))) )
16248 UserError0(*
this) <<
"ADMSPSP103VA: Parameter BGIDL value " <<
BGIDL <<
" out of range [ 0.0, (+inf) [";
16252 if ( (!((
BGIDLD >=0.0))) )
16254 UserError0(*
this) <<
"ADMSPSP103VA: Parameter BGIDLD value " <<
BGIDLD <<
" out of range [ 0.0, (+inf) [";
16258 if ( (!((
COX >=0.0))) )
16260 UserError0(*
this) <<
"ADMSPSP103VA: Parameter COX value " <<
COX <<
" out of range [ 0.0, (+inf) [";
16264 if ( (!((
CGOV >=0.0))) )
16266 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CGOV value " <<
CGOV <<
" out of range [ 0.0, (+inf) [";
16270 if ( (!((
CGOVD >=0.0))) )
16272 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CGOVD value " <<
CGOVD <<
" out of range [ 0.0, (+inf) [";
16276 if ( (!((
CGBOV >=0.0))) )
16278 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CGBOV value " <<
CGBOV <<
" out of range [ 0.0, (+inf) [";
16282 if ( (!((
CFR >=0.0))) )
16284 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CFR value " <<
CFR <<
" out of range [ 0.0, (+inf) [";
16288 if ( (!((
CFRD >=0.0))) )
16290 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CFRD value " <<
CFRD <<
" out of range [ 0.0, (+inf) [";
16294 if ( (!((
FNT >=0.0))) )
16296 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FNT value " <<
FNT <<
" out of range [ 0.0, (+inf) [";
16300 if ( (!((
NFA >=0.0))) )
16302 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NFA value " <<
NFA <<
" out of range [ 0.0, (+inf) [";
16306 if ( (!((
NFB >=0.0))) )
16308 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NFB value " <<
NFB <<
" out of range [ 0.0, (+inf) [";
16312 if ( (!((
NFC >=0.0))) )
16314 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NFC value " <<
NFC <<
" out of range [ 0.0, (+inf) [";
16318 if ( (!((
EF >=0.0))) )
16320 UserError0(*
this) <<
"ADMSPSP103VA: Parameter EF value " <<
EF <<
" out of range [ 0.0, (+inf) [";
16324 if ( (!((
RG >=0.0))) )
16326 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RG value " <<
RG <<
" out of range [ 0.0, (+inf) [";
16330 if ( (!((
RSE >=0.0))) )
16332 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSE value " <<
RSE <<
" out of range [ 0.0, (+inf) [";
16336 if ( (!((
RDE >=0.0))) )
16338 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RDE value " <<
RDE <<
" out of range [ 0.0, (+inf) [";
16342 if ( (!((
RBULK >=0.0))) )
16344 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RBULK value " <<
RBULK <<
" out of range [ 0.0, (+inf) [";
16348 if ( (!((
RWELL >=0.0))) )
16350 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RWELL value " <<
RWELL <<
" out of range [ 0.0, (+inf) [";
16354 if ( (!((
RJUNS >=0.0))) )
16356 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RJUNS value " <<
RJUNS <<
" out of range [ 0.0, (+inf) [";
16360 if ( (!((
RJUND >=0.0))) )
16362 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RJUND value " <<
RJUND <<
" out of range [ 0.0, (+inf) [";
16366 if ( (!((
TOXO >=1e-10))) )
16368 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXO value " <<
TOXO <<
" out of range [ 1e-10, (+inf) [";
16374 UserError0(*
this) <<
"ADMSPSP103VA: Parameter EPSROXO value " <<
EPSROXO <<
" out of range [ 1.0, (+inf) [";
16378 if ( (!((
NSUBO >=1e20))) )
16380 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NSUBO value " <<
NSUBO <<
" out of range [ 1e20, (+inf) [";
16384 if ( (!((
WSEG >=1e-10))) )
16386 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WSEG value " <<
WSEG <<
" out of range [ 1e-10, (+inf) [";
16390 if ( (!((
NPCK >=0.0))) )
16392 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NPCK value " <<
NPCK <<
" out of range [ 0.0, (+inf) [";
16396 if ( (!((
WSEGP >=1e-10))) )
16398 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WSEGP value " <<
WSEGP <<
" out of range [ 1e-10, (+inf) [";
16402 if ( (!((
LPCK >=1e-10))) )
16404 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LPCK value " <<
LPCK <<
" out of range [ 1e-10, (+inf) [";
16408 if ( (!((
TOXOVO >=1e-10))) )
16410 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOVO value " <<
TOXOVO <<
" out of range [ 1e-10, (+inf) [";
16414 if ( (!((
TOXOVDO >=1e-10))) )
16416 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOVDO value " <<
TOXOVDO <<
" out of range [ 1e-10, (+inf) [";
16420 if ( (!((
LOV >=0.0))) )
16422 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LOV value " <<
LOV <<
" out of range [ 0.0, (+inf) [";
16426 if ( (!((
LOVD >=0.0))) )
16428 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LOVD value " <<
LOVD <<
" out of range [ 0.0, (+inf) [";
16432 if ( (!((
LP1 >=1e-10))) )
16434 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LP1 value " <<
LP1 <<
" out of range [ 1e-10, (+inf) [";
16438 if ( (!((
LP2 >=1e-10))) )
16440 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LP2 value " <<
LP2 <<
" out of range [ 1e-10, (+inf) [";
16444 if ( (!((
WBET >=1e-10))) )
16446 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WBET value " <<
WBET <<
" out of range [ 1e-10, (+inf) [";
16450 if ( (!((
AXL >=0.0))) )
16452 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AXL value " <<
AXL <<
" out of range [ 0.0, (+inf) [";
16456 if ( (!((
ALP1L2 >=0.0))) )
16458 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP1L2 value " <<
ALP1L2 <<
" out of range [ 0.0, (+inf) [";
16462 if ( (!((
ALP2L2 >=0.0))) )
16464 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP2L2 value " <<
ALP2L2 <<
" out of range [ 0.0, (+inf) [";
16468 if ( (!((
RINT >=0.0))) )
16470 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RINT value " <<
RINT <<
" out of range [ 0.0, (+inf) [";
16474 if ( (!((
RVPOLY >=0.0))) )
16476 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RVPOLY value " <<
RVPOLY <<
" out of range [ 0.0, (+inf) [";
16480 if ( (!((
RSHG >=0.0))) )
16482 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSHG value " <<
RSHG <<
" out of range [ 0.0, (+inf) [";
16486 if ( (!((
SAREF >=1e-9))) )
16488 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SAREF value " <<
SAREF <<
" out of range [ 1e-9, (+inf) [";
16492 if ( (!((
SBREF >=1e-9))) )
16494 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SBREF value " <<
SBREF <<
" out of range [ 1e-9, (+inf) [";
16498 if ( (!((
KVSAT >=(-1.0) &&
KVSAT <=1.0 ))) )
16500 UserError0(*
this) <<
"ADMSPSP103VA: Parameter KVSAT value " <<
KVSAT <<
" out of range [ (-1.0), 1.0 ]";
16506 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LLODKUO value " <<
LLODKUO <<
" out of range [ 0.0, (+inf) [";
16512 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WLODKUO value " <<
WLODKUO <<
" out of range [ 0.0, (+inf) [";
16518 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LLODVTH value " <<
LLODVTH <<
" out of range [ 0.0, (+inf) [";
16524 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WLODVTH value " <<
WLODVTH <<
" out of range [ 0.0, (+inf) [";
16530 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LODETAO value " <<
LODETAO <<
" out of range [ 0.0, (+inf) [";
16534 if ( (!((
SCREF >=0.0))) )
16536 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCREF value " <<
SCREF <<
" out of range [ 0.0, (+inf) [";
16540 if ( (!((
IMAX >=1E-12))) )
16542 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IMAX value " <<
IMAX <<
" out of range [ 1E-12, (+inf) [";
16546 if ( (!((
TRJ >=(-250)))) )
16548 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TRJ value " <<
TRJ <<
" out of range [ (-250), (+inf) [";
16552 if ( (!((
CJORBOT >=1E-12))) )
16554 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORBOT value " <<
CJORBOT <<
" out of range [ 1E-12, (+inf) [";
16558 if ( (!((
CJORSTI >=1E-18))) )
16560 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORSTI value " <<
CJORSTI <<
" out of range [ 1E-18, (+inf) [";
16564 if ( (!((
CJORGAT >=1E-18))) )
16566 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORGAT value " <<
CJORGAT <<
" out of range [ 1E-18, (+inf) [";
16570 if ( (!((
VBIRBOT >=0.050))) )
16572 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRBOT value " <<
VBIRBOT <<
" out of range [ 0.050, (+inf) [";
16576 if ( (!((
VBIRSTI >=0.050))) )
16578 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRSTI value " <<
VBIRSTI <<
" out of range [ 0.050, (+inf) [";
16582 if ( (!((
VBIRGAT >=0.050))) )
16584 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRGAT value " <<
VBIRGAT <<
" out of range [ 0.050, (+inf) [";
16588 if ( (!((
PBOT >=0.05 &&
PBOT <=0.95 ))) )
16590 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBOT value " <<
PBOT <<
" out of range [ 0.05, 0.95 ]";
16594 if ( (!((
PSTI >=0.05 &&
PSTI <=0.95 ))) )
16596 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PSTI value " <<
PSTI <<
" out of range [ 0.05, 0.95 ]";
16600 if ( (!((
PGAT >=0.05 &&
PGAT <=0.95 ))) )
16602 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PGAT value " <<
PGAT <<
" out of range [ 0.05, 0.95 ]";
16608 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRBOT value " <<
IDSATRBOT <<
" out of range [ 0, (+inf) [";
16614 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRSTI value " <<
IDSATRSTI <<
" out of range [ 0, (+inf) [";
16620 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRGAT value " <<
IDSATRGAT <<
" out of range [ 0, (+inf) [";
16626 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHBOT value " <<
CSRHBOT <<
" out of range [ 0, (+inf) [";
16632 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHSTI value " <<
CSRHSTI <<
" out of range [ 0, (+inf) [";
16638 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHGAT value " <<
CSRHGAT <<
" out of range [ 0, (+inf) [";
16644 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNSTI value " <<
XJUNSTI <<
" out of range [ 1E-9, (+inf) [";
16650 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNGAT value " <<
XJUNGAT <<
" out of range [ 1E-9, (+inf) [";
16656 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATBOT value " <<
CTATBOT <<
" out of range [ 0, (+inf) [";
16662 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATSTI value " <<
CTATSTI <<
" out of range [ 0, (+inf) [";
16668 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATGAT value " <<
CTATGAT <<
" out of range [ 0, (+inf) [";
16674 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATBOT value " <<
MEFFTATBOT <<
" out of range [ 0.01, (+inf) [";
16680 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATSTI value " <<
MEFFTATSTI <<
" out of range [ 0.01, (+inf) [";
16686 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATGAT value " <<
MEFFTATGAT <<
" out of range [ 0.01, (+inf) [";
16692 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTBOT value " <<
CBBTBOT <<
" out of range [ 0, (+inf) [";
16698 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTSTI value " <<
CBBTSTI <<
" out of range [ 0, (+inf) [";
16704 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTGAT value " <<
CBBTGAT <<
" out of range [ 0, (+inf) [";
16708 if ( (!((
VBRBOT >=0.1))) )
16710 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRBOT value " <<
VBRBOT <<
" out of range [ 0.1, (+inf) [";
16714 if ( (!((
VBRSTI >=0.1))) )
16716 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRSTI value " <<
VBRSTI <<
" out of range [ 0.1, (+inf) [";
16720 if ( (!((
VBRGAT >=0.1))) )
16722 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRGAT value " <<
VBRGAT <<
" out of range [ 0.1, (+inf) [";
16726 if ( (!((
PBRBOT >=0.1))) )
16728 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRBOT value " <<
PBRBOT <<
" out of range [ 0.1, (+inf) [";
16732 if ( (!((
PBRSTI >=0.1))) )
16734 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRSTI value " <<
PBRSTI <<
" out of range [ 0.1, (+inf) [";
16738 if ( (!((
PBRGAT >=0.1))) )
16740 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRGAT value " <<
PBRGAT <<
" out of range [ 0.1, (+inf) [";
16746 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORBOTD value " <<
CJORBOTD <<
" out of range [ 1E-12, (+inf) [";
16752 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORSTID value " <<
CJORSTID <<
" out of range [ 1E-18, (+inf) [";
16758 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORGATD value " <<
CJORGATD <<
" out of range [ 1E-18, (+inf) [";
16764 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRBOTD value " <<
VBIRBOTD <<
" out of range [ 0.050, (+inf) [";
16770 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRSTID value " <<
VBIRSTID <<
" out of range [ 0.050, (+inf) [";
16776 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRGATD value " <<
VBIRGATD <<
" out of range [ 0.050, (+inf) [";
16782 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBOTD value " <<
PBOTD <<
" out of range [ 0.05, 0.95 ]";
16788 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PSTID value " <<
PSTID <<
" out of range [ 0.05, 0.95 ]";
16794 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PGATD value " <<
PGATD <<
" out of range [ 0.05, 0.95 ]";
16800 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRBOTD value " <<
IDSATRBOTD <<
" out of range [ 0, (+inf) [";
16806 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRSTID value " <<
IDSATRSTID <<
" out of range [ 0, (+inf) [";
16812 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRGATD value " <<
IDSATRGATD <<
" out of range [ 0, (+inf) [";
16818 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHBOTD value " <<
CSRHBOTD <<
" out of range [ 0, (+inf) [";
16824 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHSTID value " <<
CSRHSTID <<
" out of range [ 0, (+inf) [";
16830 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHGATD value " <<
CSRHGATD <<
" out of range [ 0, (+inf) [";
16836 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNSTID value " <<
XJUNSTID <<
" out of range [ 1E-9, (+inf) [";
16842 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNGATD value " <<
XJUNGATD <<
" out of range [ 1E-9, (+inf) [";
16848 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATBOTD value " <<
CTATBOTD <<
" out of range [ 0, (+inf) [";
16854 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATSTID value " <<
CTATSTID <<
" out of range [ 0, (+inf) [";
16860 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATGATD value " <<
CTATGATD <<
" out of range [ 0, (+inf) [";
16866 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATBOTD value " <<
MEFFTATBOTD <<
" out of range [ 0.01, (+inf) [";
16872 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATSTID value " <<
MEFFTATSTID <<
" out of range [ 0.01, (+inf) [";
16878 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATGATD value " <<
MEFFTATGATD <<
" out of range [ 0.01, (+inf) [";
16884 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTBOTD value " <<
CBBTBOTD <<
" out of range [ 0, (+inf) [";
16890 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTSTID value " <<
CBBTSTID <<
" out of range [ 0, (+inf) [";
16896 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTGATD value " <<
CBBTGATD <<
" out of range [ 0, (+inf) [";
16902 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRBOTD value " <<
VBRBOTD <<
" out of range [ 0.1, (+inf) [";
16908 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRSTID value " <<
VBRSTID <<
" out of range [ 0.1, (+inf) [";
16914 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRGATD value " <<
VBRGATD <<
" out of range [ 0.1, (+inf) [";
16920 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRBOTD value " <<
PBRBOTD <<
" out of range [ 0.1, (+inf) [";
16926 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRSTID value " <<
PBRSTID <<
" out of range [ 0.1, (+inf) [";
16932 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRGATD value " <<
PBRGATD <<
" out of range [ 0.1, (+inf) [";
16938 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWJUNEXP value " <<
SWJUNEXP <<
" out of range [ 0.0, 1.0 ]";
16944 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VJUNREF value " <<
VJUNREF <<
" out of range [ 0.5, (+inf) [";
16948 if ( (!((
FJUNQ >=0.0))) )
16950 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FJUNQ value " <<
FJUNQ <<
" out of range [ 0.0, (+inf) [";
16956 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VJUNREFD value " <<
VJUNREFD <<
" out of range [ 0.5, (+inf) [";
16960 if ( (!((
FJUNQD >=0.0))) )
16962 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FJUNQD value " <<
FJUNQD <<
" out of range [ 0.0, (+inf) [";
16971 double KBOL_over_QELE;
17031 TR_i = ((
TR>(-273))?
TR:(-273));
17032 TKR = (273.15+TR_i);
17038 phit = ((
TKD*1.3806505E-23)/1.6021918E-19);
17040 Eg = ((1.179-(9.025e-5*
TKD))-(3.05e-7*TKD_sq));
17041 phibFac = ((((1.045+(4.5e-4*
TKD))*((0.523+(1.4e-3*
TKD))-(1.48e-6*TKD_sq)))*TKD_sq)/9.0E4);
17043 EPSSI = (8.8541878176E-12*11.8);
17044 nt0 = ((4*1.3806505E-23)*
TKD);
17045 TRJ_i = ((
TRJ>(-250))?
TRJ:(-250));
17234 tkr = (273.15+TRJ_i);
17237 KBOL_over_QELE = (1.3806505E-23/1.6021918E-19);
17238 phitr = (KBOL_over_QELE*tkr);
17239 phitrinv = (1.0/
phitr);
17240 phitd = (KBOL_over_QELE*tkd);
17242 deltaphigr = ((-((7.02e-4*tkr)*tkr))/(1108.0+tkr));
17246 deltaphigd = ((-((7.02e-4*tkd)*tkd))/(1108.0+tkd));
17289 perfc = (1.77245385090551603*0.29214664);
17290 berfc = (((((-5)*0.29214664)+6)-pow(
perfc,(-2)))/3);
17471 std::vector<Instance*>::iterator iter;
17475 for (iter=first; iter!=last; ++iter)
17477 (*iter)->processParams();
17495 :
DeviceModel(model_block, configuration.getModelParameters(), factory_block),
18056 STFBBTBOT((-1E-3)),
18057 STFBBTSTI((-1E-3)),
18058 STFBBTGAT((-1E-3)),
18097 STFBBTBOTD((-1E-3)),
18098 STFBBTSTID((-1E-3)),
18099 STFBBTGATD((-1E-3)),
18237 one_minus_PBOT(0.0),
18238 one_minus_PSTI(0.0),
18239 one_minus_PGAT(0.0),
18240 one_over_one_minus_PBOT(0.0),
18241 one_over_one_minus_PSTI(0.0),
18242 one_over_one_minus_PGAT(0.0),
18255 wdepnulrinvbot(0.0),
18256 wdepnulrinvsti(0.0),
18257 wdepnulrinvgat(0.0),
18305 MEFFTATBOTS_i(0.0),
18306 MEFFTATSTIS_i(0.0),
18307 MEFFTATGATS_i(0.0),
18346 MEFFTATBOTD_i(0.0),
18347 MEFFTATSTID_i(0.0),
18348 MEFFTATGATD_i(0.0),
18389 one_minus_PBOT_s(0.0),
18390 one_minus_PSTI_s(0.0),
18391 one_minus_PGAT_s(0.0),
18392 one_over_one_minus_PBOT_s(0.0),
18393 one_over_one_minus_PSTI_s(0.0),
18394 one_over_one_minus_PGAT_s(0.0),
18404 wdepnulrbot_s(0.0),
18405 wdepnulrsti_s(0.0),
18406 wdepnulrgat_s(0.0),
18407 wdepnulrinvbot_s(0.0),
18408 wdepnulrinvsti_s(0.0),
18409 wdepnulrinvgat_s(0.0),
18419 btatpartbot_s(0.0),
18420 btatpartsti_s(0.0),
18421 btatpartgat_s(0.0),
18455 one_minus_PBOT_d(0.0),
18456 one_minus_PSTI_d(0.0),
18457 one_minus_PGAT_d(0.0),
18458 one_over_one_minus_PBOT_d(0.0),
18459 one_over_one_minus_PSTI_d(0.0),
18460 one_over_one_minus_PGAT_d(0.0),
18470 wdepnulrbot_d(0.0),
18471 wdepnulrsti_d(0.0),
18472 wdepnulrgat_d(0.0),
18473 wdepnulrinvbot_d(0.0),
18474 wdepnulrinvsti_d(0.0),
18475 wdepnulrinvgat_d(0.0),
18485 btatpartbot_d(0.0),
18486 btatpartsti_d(0.0),
18487 btatpartgat_d(0.0),
18512 if (!
given(
"XYCEADMSMODTEMP"))
18538 std::vector<Instance*>::iterator iterI;
18543 for (iterI = firstI; iterI != lastI; ++iterI)
18559 std::vector<Instance*>::const_iterator iter;
18565 os <<
" name model name Parameters" << std::endl;
18566 for (i=0, iter=first; iter!=last; ++iter, ++i)
18568 os <<
" " << i <<
": " << (*iter)->getName() <<
" ";
18572 os <<
"L = " << (*iter)->L << std::endl;
18573 os <<
"W = " << (*iter)->W << std::endl;
18574 os <<
"SA = " << (*iter)->SA << std::endl;
18575 os <<
"SB = " << (*iter)->SB << std::endl;
18576 os <<
"SD = " << (*iter)->SD << std::endl;
18577 os <<
"SCA = " << (*iter)->SCA << std::endl;
18578 os <<
"SCB = " << (*iter)->SCB << std::endl;
18579 os <<
"SCC = " << (*iter)->SCC << std::endl;
18580 os <<
"SC = " << (*iter)->SC << std::endl;
18581 os <<
"NF = " << (*iter)->NF << std::endl;
18582 os <<
"NGCON = " << (*iter)->NGCON << std::endl;
18583 os <<
"XGW = " << (*iter)->XGW << std::endl;
18584 os <<
"NRS = " << (*iter)->NRS << std::endl;
18585 os <<
"NRD = " << (*iter)->NRD << std::endl;
18586 os <<
"JW = " << (*iter)->JW << std::endl;
18587 os <<
"DELVTO = " << (*iter)->DELVTO << std::endl;
18588 os <<
"FACTUO = " << (*iter)->FACTUO << std::endl;
18589 os <<
"ABSOURCE = " << (*iter)->ABSOURCE << std::endl;
18590 os <<
"LSSOURCE = " << (*iter)->LSSOURCE << std::endl;
18591 os <<
"LGSOURCE = " << (*iter)->LGSOURCE << std::endl;
18592 os <<
"ABDRAIN = " << (*iter)->ABDRAIN << std::endl;
18593 os <<
"LSDRAIN = " << (*iter)->LSDRAIN << std::endl;
18594 os <<
"LGDRAIN = " << (*iter)->LGDRAIN << std::endl;
18595 os <<
"AS = " << (*iter)->AS << std::endl;
18596 os <<
"PS = " << (*iter)->PS << std::endl;
18597 os <<
"AD = " << (*iter)->AD << std::endl;
18598 os <<
"PD = " << (*iter)->PD << std::endl;
18599 os <<
"MULT = " << (*iter)->MULT << std::endl;
18624 for (std::vector<Instance *>::const_iterator it = instanceContainer.begin(); it != instanceContainer.end(); ++it)
18636 .registerDevice(
"m", 103)
18637 .registerModelType(
"nmos", 103)
18638 .registerModelType(
"pmos", 103);